echo "=== Build iccDEV ==="
git clone https://github.com/InternationalColorConsortium/iccDEV.git
cd iccDEV/Build
git branch && echo "---" && git log --oneline -1
CC=clang CXX=clang++ CXXFLAGS="-fsanitize=address,undefined,integer,bounds,null,float-divide-by-zero,alignment,vla-bound -fno-omit-frame-pointer -g -O0" LDFLAGS="-fsanitize=address,undefined,integer,bounds,null,float-divide-by-zero,alignment,vla-bound" cmake Cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_ASAN=ON -DENABLE_UBSAN=ON -DENABLE_TOOLS=ON
make -j32
cd ../Testing/
echo "=== Updating PATH ==="
for d in ../Build/Tools/*; do
[ -d "$d" ] && export PATH="$(realpath "$d"):$PATH"
done
printf '%s\n%s\n%s\n' 'unsigned-integer-overflow:*/IccMD5.cpp' 'shift-base:*/IccMD5.cpp' 'shift-exponent:*/IccMD5.cpp' > silence.txt && ASAN_OPTIONS='print_scariness=1:halt_on_error=1:detect_leaks=0' UBSAN_OPTIONS='halt_on_error=0:suppressions='"$PWD"'/silence.txt' ./CreateAllProfiles.sh
printf '%s\n%s\n%s\n' 'unsigned-integer-overflow:*/IccMD5.cpp' 'shift-base:*/IccMD5.cpp' 'shift-exponent:*/IccMD5.cpp' > silence.txt && ASAN_OPTIONS='print_scariness=1:halt_on_error=1:detect_leaks=0' UBSAN_OPTIONS='halt_on_error=0:suppressions='"$PWD"'/silence.txt' ./RunTests.sh
ASAN_OPTIONS=print_scariness=1 UBSAN_OPTIONS=halt_on_error=1:print_stacktrace=1 iccApplyToLink bar.foo 0 2 1 foo.bar nan 1 1 0 SpecRef/SixChanInputRef.icc 13
==63282==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7c1ff5ae035c at pc 0x7ffff7764322 bp 0x7fffffff97b0 sp 0x7fffffff97a8
WRITE of size 4 at 0x7c1ff5ae035c thread T0
SCARINESS: 36 (4-byte-write-heap-buffer-overflow)
#0 0x7ffff7764321 in CIccMpeMatrix::Apply(CIccApplyMpe*, float*, float const*) const IccMpeBasic.cpp:5457:25
Maintainer Summary
2026-06-16 18:02:40 UTC
Bisect
May 7, 2018
de29c4d *dstPixel
Repro
Bad Breadcrumb