Skip to content

Fix: SO in SIccCalcOp::ArgsUsed()#684

Merged
xsscx merged 1 commit intomasterfrom
issue-669
Mar 15, 2026
Merged

Fix: SO in SIccCalcOp::ArgsUsed()#684
xsscx merged 1 commit intomasterfrom
issue-669

Conversation

@ChrisCoxArt
Copy link
Contributor

And compare that to the op count before adding so we don't overflow 32 bits. Fixes #669

Pull Request Checklist

  • Have you followed the guidelines in Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same change?
  • Have you built your Pull Request locally with the Build Instructions?
  • Have you added or updated relevant tests?
  • Have you added or updated relevant docs?

And compare that to the op count before adding so we don't overflow 32 bits.
Fixes #669
@ChrisCoxArt ChrisCoxArt requested a review from xsscx as a code owner March 15, 2026 00:25
@xsscx xsscx self-assigned this Mar 15, 2026
@xsscx xsscx added PR Pull Request Review in Process Issue is being Reviewed by Maintainers and removed pending labels Mar 15, 2026
@xsscx xsscx added Pending Merge Maintainer indicates Merge Pending and requests no further changes and removed Review in Process Issue is being Reviewed by Maintainers pending labels Mar 15, 2026
Copy link
Member

@xsscx xsscx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maintainer Review

2026-03-15 00:32:50 UTC

Repro

mkdir pr-684
cd pr-684
git clone https://github.com/InternationalColorConsortium/iccDEV.git
cd iccDEV/Build
git fetch origin pull/684/head:pr-684
git checkout pr-684
export CXX=clang++ && export CXXFLAGS="-fsanitize=address,undefined -fno-omit-frame-pointer -g -O1 -fprofile-arcs -ftest-coverage" && export LDFLAGS="-fsanitize=address,undefined -fprofile-arcs" && cmake Cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_ASAN=ON -DENABLE_UBSAN=ON -DENABLE_COVERAGE=ON
make -j$(nproc)
        cd ../Testing/
        echo "=== Updating PATH ==="
         for d in ../Build/Tools/*; do
          [ -d "$d" ] && export PATH="$(realpath "$d"):$PATH"
         done
wget https://github.com/xsscx/research/raw/refs/heads/main/test-profiles/ios-gen-p3-1x1.tif
wget https://github.com/xsscx/fuzz/raw/refs/heads/master/graphics/icc/so-CIccCalculatorFunc-CheckUnderflowOverflow-IccMpeCalc_cpp-Line4152.icc
iccApplyProfiles ios-gen-p3-1x1.tif /dev/null 0 0 0 0 0 so-CIccCalculatorFunc-CheckUnderflowOverflow-IccMpeCalc_cpp-Line4152.icc 0    

PR Appliction Output

Error 3 - Unable to begin profile application - Possibly invalid or incompatible profiles

@xsscx xsscx changed the title make sure increment/size comparison is unsigned Fix: SO in SIccCalcOp::ArgsUsed() Mar 15, 2026
@xsscx xsscx merged commit aca9ade into master Mar 15, 2026
27 checks passed
@xsscx xsscx removed the Pending Merge Maintainer indicates Merge Pending and requests no further changes label Mar 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR Pull Request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SO in SIccCalcOp::ArgsUsed() at IccMpeCalc.cpp:2252

2 participants