Skip to content

Fix: SBO in CIccTagNum<(icTagTypeSignature)>::GetValues()#638

Merged
xsscx merged 1 commit intomasterfrom
issue-618
Mar 1, 2026
Merged

Fix: SBO in CIccTagNum<(icTagTypeSignature)>::GetValues()#638
xsscx merged 1 commit intomasterfrom
issue-618

Conversation

@ChrisCoxArt
Copy link
Contributor

And check that the output size is less than or equal to the input
Fixes #618

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?

@ChrisCoxArt ChrisCoxArt requested a review from xsscx as a code owner March 1, 2026 03:07
@xsscx xsscx self-assigned this Mar 1, 2026
@xsscx xsscx added PR Pull Request Review in Process Issue is being Reviewed by Maintainers labels Mar 1, 2026
@xsscx xsscx changed the title iterate on the output size, not the input size Fix: SBO in CIccTagNum<(icTagTypeSignature)>::GetValues() Mar 1, 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 1, 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-01 03:14:08 UTC

mkdir pr-638
cd pr-638
git clone https://github.com/InternationalColorConsortium/iccDEV.git
cd iccDEV
git fetch origin pull/638/head:pr-638
git checkout pr-638
cd Build
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug -Wno-dev -DCMAKE_CXX_FLAGS="-g -fsanitize=address,undefined -fno-sanitize=leak -fno-omit-frame-pointer -Wall" -DENABLE_TOOLS=ON -DENABLE_STATIC_LIBS=ON -DENABLE_SHARED_LIBS=ON Cmake > cmake.log 2>&1
make -j32
wget https://github.com/xsscx/fuzz/raw/refs/heads/master/graphics/icc/sbo-CIccTagStruct-GetElemNumberValue-IccTagComposite_cpp-Line737.icc
printf "'RGB '\nicEncodeFloat\n0.5 0.5 0.5\n" | ASAN_OPTIONS=detect_leaks=0,print_scariness=1 Tools/IccApplyNamedCmm/iccApplyNamedCmm /dev/stdin 3 0 sbo-CIccTagStruct-GetElemNumberValue-IccTagComposite_cpp-Line737.icc 0

Expected Output

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

@xsscx xsscx merged commit 73ae1f5 into master Mar 1, 2026
27 checks passed
@xsscx xsscx added Merged Merged and removed Pending Merge Maintainer indicates Merge Pending and requests no further changes labels Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Merged Merged PR Pull Request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SBO in CIccTagNum<(icTagTypeSignature)>::GetValues() at IccTagBasic.cpp:6098

2 participants