123456789101112131415161718192021222324252627282930313233 |
- *** xpdf-3.02.orig/xpdf/Stream.cc Tue Feb 27 14:05:52 2007
- --- xpdf-3.02/xpdf/Stream.cc Thu Jul 26 14:44:43 2007
- ***************
- *** 410,424 ****
- ok = gFalse;
-
- nVals = width * nComps;
- - if (width <= 0 || nComps <= 0 || nBits <= 0 ||
- - nComps >= INT_MAX / nBits ||
- - width >= INT_MAX / nComps / nBits ||
- - nVals * nBits + 7 < 0) {
- - return;
- - }
- pixBytes = (nComps * nBits + 7) >> 3;
- rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
- ! if (rowBytes <= 0) {
- return;
- }
- predLine = (Guchar *)gmalloc(rowBytes);
- --- 410,422 ----
- ok = gFalse;
-
- nVals = width * nComps;
- pixBytes = (nComps * nBits + 7) >> 3;
- rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
- ! if (width <= 0 || nComps <= 0 || nBits <= 0 ||
- ! nComps > gfxColorMaxComps ||
- ! nBits > 16 ||
- ! width >= INT_MAX / nComps || // check for overflow in nVals
- ! nVals >= (INT_MAX - 7) / nBits) { // check for overflow in rowBytes
- return;
- }
- predLine = (Guchar *)gmalloc(rowBytes);
|