xpdf-3.02pl1.patch 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. *** xpdf-3.02.orig/xpdf/Stream.cc Tue Feb 27 14:05:52 2007
  2. --- xpdf-3.02/xpdf/Stream.cc Thu Jul 26 14:44:43 2007
  3. ***************
  4. *** 410,424 ****
  5. ok = gFalse;
  6. nVals = width * nComps;
  7. - if (width <= 0 || nComps <= 0 || nBits <= 0 ||
  8. - nComps >= INT_MAX / nBits ||
  9. - width >= INT_MAX / nComps / nBits ||
  10. - nVals * nBits + 7 < 0) {
  11. - return;
  12. - }
  13. pixBytes = (nComps * nBits + 7) >> 3;
  14. rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
  15. ! if (rowBytes <= 0) {
  16. return;
  17. }
  18. predLine = (Guchar *)gmalloc(rowBytes);
  19. --- 410,422 ----
  20. ok = gFalse;
  21. nVals = width * nComps;
  22. pixBytes = (nComps * nBits + 7) >> 3;
  23. rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
  24. ! if (width <= 0 || nComps <= 0 || nBits <= 0 ||
  25. ! nComps > gfxColorMaxComps ||
  26. ! nBits > 16 ||
  27. ! width >= INT_MAX / nComps || // check for overflow in nVals
  28. ! nVals >= (INT_MAX - 7) / nBits) { // check for overflow in rowBytes
  29. return;
  30. }
  31. predLine = (Guchar *)gmalloc(rowBytes);