-
Notifications
You must be signed in to change notification settings - Fork 43
Labels
BugBug ReportBug ReportIn ScopeMaintainer indicates In Scope ReportMaintainer indicates In Scope ReportSecuritySecurity RelatedSecurity RelatedTriagedMaintainer indicates triaged status and ready for developer handoffMaintainer indicates triaged status and ready for developer handoff
Description
The same error in CIccTagLut8::Validate was hit with other files.
To Reproduce
BlacklightPosterTagLut8Samples.zip
- iccDumpProfile -v BlacklightPoster_202143.icc
- iccDumpProfile -v BlacklightPoster_411039.icc
- Observe ASAN error
==24954==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000260 at pc 0x000105e47b4c bp 0x7ff7bb66cdb0 sp 0x7ff7bb66cda8 READ of size 8 at 0x602000000260 thread T0 #0 0x105e47b4b in CIccTagLut8::Validate(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, CIccProfile const*) const IccTagLut.cpp:4880 #1 0x105c31ef8 in CIccProfile::Validate(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, CIccProfile const*) const IccProfile.cpp:3004 #2 0x105c3cc5e in ValidateIccProfile(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, icValidateStatus&) IccProfile.cpp:3772 #3 0x1048945af in main iccDumpProfile.cpp:193 #4 0x7ff8056c7344 in start+0x774 (dyld:x86_64+0xfffffffffff5c344) 0x602000000260 is located 0 bytes after 16-byte region [0x602000000250,0x602000000260) allocated by thread T0 here: #0 0x10642ab8d in _Znam+0x7d (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0xedb8d) #1 0x105e342f7 in CIccMBB::NewCurvesB() IccTagLut.cpp:3776 #2 0x105e429bc in CIccTagLut8::Read(unsigned int, CIccIO*) IccTagLut.cpp:4619 #3 0x105d20c96 in CIccTag::Read(unsigned int, CIccIO*, CIccProfile*) IccTagBasic.h:193 #4 0x105c0d250 in CIccProfile::LoadTag(IccTagEntry*, CIccIO*, bool) IccProfile.cpp:1335 #5 0x105c179d2 in CIccProfile::ReadValidate(CIccIO*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&) IccProfile.cpp:961 #6 0x105c3c810 in ValidateIccProfile(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, icValidateStatus&) IccProfile.cpp:3762 #7 0x1048945af in main iccDumpProfile.cpp:193 #8 0x7ff8056c7344 in start+0x774 (dyld:x86_64+0xfffffffffff5c344)
Originally posted by @ChrisCoxArt in #397
Metadata
Metadata
Assignees
Labels
BugBug ReportBug ReportIn ScopeMaintainer indicates In Scope ReportMaintainer indicates In Scope ReportSecuritySecurity RelatedSecurity RelatedTriagedMaintainer indicates triaged status and ready for developer handoffMaintainer indicates triaged status and ready for developer handoff