Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2:ARM
bogofilter
bogofilter-SA-2010-01.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bogofilter-SA-2010-01.diff of Package bogofilter
bugfix: prevent memory corruption in base64_decode If a string starting with an equal-sign is passed to the base64_decode function it triggers a memory corruption that in some cases makes bogofilter crash. If the first character in word->text ist '=', then in base_64.c:50 `shorten' will be set to 4, the loop ll 59-63 is skipped and the code d += 3 - shorten; will actually rewind the string-pointer d by one, thus causing the function to write to a potentially invalid memory area in subsequent calls. (Because *d at that point is the first character in the string.) Author: Julius Plenz <plenz@cis.fu-berlin.de> Index: bogofilter/src/base64.c =================================================================== --- bogofilter/src/base64.c (Revision 6903) +++ bogofilter/src/base64.c (Revision 6904) @@ -61,9 +61,11 @@ d[i] = c; v = v >> 8; } - d += 3 - shorten; - count += 3 - shorten; + if(shorten != 4) { + d += 3 - shorten; + count += 3 - shorten; } + } /* XXX do we need this NUL byte? */ if (word->leng) *d = (byte) '\0'; /* safe, base64 is always longer than original */
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