Projects
Eulaceura:Factory
freeimage
_service:obs_scm:CVE-2020-24295.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:CVE-2020-24295.patch of Package freeimage
Origin: https://src.fedoraproject.org/rpms/freeimage/blob/f39/f/CVE-2020-24295.patch diff -rupN --no-dereference freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PSDParser.cpp freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PSDParser.cpp --- freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PSDParser.cpp 2023-09-28 19:34:47.936007630 +0200 +++ freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PSDParser.cpp 2023-09-28 19:34:47.940007590 +0200 @@ -1466,6 +1466,7 @@ FIBITMAP* psdParser::ReadImageData(FreeI const unsigned dstBpp = (depth == 1) ? 1 : FreeImage_GetBPP(bitmap)/8; const unsigned dstLineSize = FreeImage_GetPitch(bitmap); BYTE* const dst_first_line = FreeImage_GetScanLine(bitmap, nHeight - 1);//<*** flipped + const unsigned dst_buffer_size = dstLineSize * nHeight; BYTE* line_start = new BYTE[lineSize]; //< fileline cache @@ -1481,6 +1482,9 @@ FIBITMAP* psdParser::ReadImageData(FreeI const unsigned channelOffset = GetChannelOffset(bitmap, c) * bytes; BYTE* dst_line_start = dst_first_line + channelOffset; + if (channelOffset + lineSize > dst_buffer_size) { + throw "Invalid PSD image"; + } for(unsigned h = 0; h < nHeight; ++h, dst_line_start -= dstLineSize) {//<*** flipped io->read_proc(line_start, lineSize, 1, handle); ReadImageLine(dst_line_start, line_start, lineSize, dstBpp, bytes);
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2