Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:Update
gdk-pixbuf.33887
gdk-pixbuf-cve-2017-6312-ico-integer-overflow.p...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gdk-pixbuf-cve-2017-6312-ico-integer-overflow.patch of Package gdk-pixbuf.33887
diff --git a/gdk-pixbuf/io-ico.c b/gdk-pixbuf/io-ico.c index 924d3d1..3abf140 100644 --- a/gdk-pixbuf/io-ico.c +++ b/gdk-pixbuf/io-ico.c @@ -318,10 +318,7 @@ static void DecodeHeader(guchar *Data, gint Bytes, return; } - /* We know how many bytes are in the "header" part. */ - State->HeaderSize = entry->DIBoffset + 40; /* 40 = sizeof(InfoHeader) */ - - if (State->HeaderSize < 0) { + if (entry->DIBoffset > G_MAXINT - 40) { g_set_error_literal (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_CORRUPT_IMAGE, @@ -329,6 +326,9 @@ static void DecodeHeader(guchar *Data, gint Bytes, return; } + /* We know how many bytes are in the "header" part. */ + State->HeaderSize = entry->DIBoffset + 40; + if (State->HeaderSize>State->BytesInHeaderBuf) { guchar *tmp=g_try_realloc(State->HeaderBuf,State->HeaderSize); if (!tmp) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor