You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2018/03/25 05:32:13 UTC

svn commit: r1827693 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Predictor.java

Author: msahyoun
Date: Sun Mar 25 05:32:13 2018
New Revision: 1827693

URL: http://svn.apache.org/viewvc?rev=1827693&view=rev
Log:
PDFBOX-4071: don't reuse method parameter

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Predictor.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Predictor.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Predictor.java?rev=1827693&r1=1827692&r2=1827693&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Predictor.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Predictor.java Sun Mar 25 05:32:13 2018
@@ -342,23 +342,24 @@ public final class Predictor
         @Override
         public void write(byte[] bytes, int off, int len) throws IOException
         {
-            int maxOffset = off + len;
-            while (off < maxOffset)
+            int currentOffset = off;
+            int maxOffset = currentOffset + len;
+            while (currentOffset < maxOffset)
             {
                 if (predictorPerRow && currentRowData == 0 && !predictorRead)
                 {
                     // PNG predictor; each row starts with predictor type (0, 1, 2, 3, 4)
                     // read per line predictor, add 10 to tread value 0 as 10, 1 as 11, ...
-                    predictor = bytes[off] + 10;
-                    off++;
+                    predictor = bytes[currentOffset] + 10;
+                    currentOffset++;
                     predictorRead = true;
                 }
                 else
                 {
-                    int toRead = Math.min(rowLength - currentRowData, maxOffset - off);
-                    System.arraycopy(bytes, off, currentRow, currentRowData, toRead);
+                    int toRead = Math.min(rowLength - currentRowData, maxOffset - currentOffset);
+                    System.arraycopy(bytes, currentOffset, currentRow, currentRowData, toRead);
                     currentRowData += toRead;
-                    off += toRead;
+                    currentOffset += toRead;
 
                     // current row is filled, decode it, write it to underlying stream,
                     // and reset the state.