This issue consists of two bugs:
- conversion from and to quantum, it probably worked only for quantumdepth=8,
but ImageMagick was compiled with quantumdepth=16.
The attached patch fixes it.
- The function ReadBlobByte returns values in range 0-255 or (int)-1 on EOF.
The return value -1 is not checked on many places. The patch
adds some type conversion, so that it does not crash on issue3.psd.
However it could crash elsewhere.
This issue should also affect RHEL2.1
Created attachment 111669 [details]
Proposed patch for this issue.
Created attachment 111670 [details]
Demo exploit for this issue.
This is covered by RHSA-2005:070-09
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.