You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2019/04/13 11:21:17 UTC

svn commit: r1857468 - /pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/util/Hex.java

Author: tilman
Date: Sat Apr 13 11:21:16 2019
New Revision: 1857468

URL: http://svn.apache.org/viewvc?rev=1857468&view=rev
Log:
PDFBOX-4513: SonarQube fix

Modified:
    pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/util/Hex.java

Modified: pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/util/Hex.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/util/Hex.java?rev=1857468&r1=1857467&r2=1857468&view=diff
==============================================================================
--- pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/util/Hex.java (original)
+++ pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/util/Hex.java Sat Apr 13 11:21:16 2019
@@ -271,22 +271,26 @@ public final class Hex
     public static byte[] decodeHex(String s) throws IOException
     {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        for (int i = 0; i < s.length() - 1; i += 2)
+        int i = 0;
+        while (i < s.length() - 1)
         {
             if (s.charAt(i) == '\n' || s.charAt(i) == '\r')
             {
-                --i;
-                continue;
+                ++i;
             }
-            String hexByte = s.substring(i, i + 2);
-            try
+            else
             {
-                baos.write(Integer.parseInt(hexByte, 16)); // Byte.parseByte won't work with "9C"
-            }
-            catch (NumberFormatException ex)
-            {
-                LOG.error("Can't parse " + hexByte + ", aborting decode", ex);
-                break;
+                String hexByte = s.substring(i, i + 2);
+                try
+                {
+                    baos.write(Integer.parseInt(hexByte, 16)); // Byte.parseByte won't work with "9C"
+                }
+                catch (NumberFormatException ex)
+                {
+                    LOG.error("Can't parse " + hexByte + ", aborting decode", ex);
+                    break;
+                }
+                i += 2;
             }
         }
         return baos.toByteArray();