You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by db...@apache.org on 2018/01/02 00:31:39 UTC

commons-imaging git commit: IMAGING-214: avoid code execution unless/until it is needed

Repository: commons-imaging
Updated Branches:
  refs/heads/master 51880b788 -> 0a61492fd


IMAGING-214: avoid code execution unless/until it is needed


Project: http://git-wip-us.apache.org/repos/asf/commons-imaging/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-imaging/commit/0a61492f
Tree: http://git-wip-us.apache.org/repos/asf/commons-imaging/tree/0a61492f
Diff: http://git-wip-us.apache.org/repos/asf/commons-imaging/diff/0a61492f

Branch: refs/heads/master
Commit: 0a61492fda0e82b0c01602e689f238051f9106ee
Parents: 51880b7
Author: Dave Brosius <db...@mebigfatguy.com>
Authored: Mon Jan 1 19:31:22 2018 -0500
Committer: Dave Brosius <db...@mebigfatguy.com>
Committed: Mon Jan 1 19:31:22 2018 -0500

----------------------------------------------------------------------
 .../apache/commons/imaging/formats/bmp/BmpImageParser.java  | 3 +--
 .../apache/commons/imaging/formats/ico/IcoImageParser.java  | 2 +-
 .../apache/commons/imaging/formats/png/PngImageParser.java  | 3 +--
 .../apache/commons/imaging/formats/pnm/PnmImageParser.java  | 4 ++--
 .../commons/imaging/formats/tiff/TiffImageParser.java       | 9 +++++----
 5 files changed, 10 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/0a61492f/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java b/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java
index 1bb1b51..1fdff5d 100644
--- a/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java
@@ -394,11 +394,10 @@ public class BmpImageParser extends ImageParser {
                     + ((colorTable == null) ? "null" : Integer.toString(colorTable.length)));
         }
 
-        final int pixelCount = bhi.width * bhi.height;
-
         int imageLineLength = (((bhi.bitsPerPixel) * bhi.width) + 7) / 8;
 
         if (verbose) {
+            final int pixelCount = bhi.width * bhi.height;
             // this.debugNumber("Total BitsPerPixel",
             // (ExtraBitsPerPixel + bhi.BitsPerPixel), 4);
             // this.debugNumber("Total Bit Per Line",

http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/0a61492f/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java b/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
index 24d1066..238f6d3 100644
--- a/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
@@ -647,8 +647,8 @@ public class IcoImageParser extends ImageParser {
         final PaletteFactory paletteFactory = new PaletteFactory();
         final SimplePalette palette = paletteFactory.makeExactRgbPaletteSimple(src, 256);
         final int bitCount;
-        final boolean hasTransparency = paletteFactory.hasTransparency(src);
         if (palette == null) {
+            final boolean hasTransparency = paletteFactory.hasTransparency(src);
             if (hasTransparency) {
                 bitCount = 32;
             } else {

http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/0a61492f/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
index a1a9ab4..3f703b8 100644
--- a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
@@ -444,8 +444,6 @@ public class PngImageParser extends ImageParser {
             physicalHeightInch = (float) (height / (pngChunkpHYs.pixelsPerUnitYAxis * metersPerInch));
         }
 
-        final String formatDetails = "Png";
-
         boolean usesPalette = false;
 
         final List<PngChunk> PLTEs = filterChunks(chunks, ChunkType.PLTE);
@@ -468,6 +466,7 @@ public class PngImageParser extends ImageParser {
                 throw new ImageReadException("Png: Unknown ColorType: " + pngChunkIHDR.pngColorType);
         }
 
+        final String formatDetails = "Png";
         final ImageInfo.CompressionAlgorithm compressionAlgorithm = ImageInfo.CompressionAlgorithm.PNG_FILTER;
 
         return new PngImageInfo(formatDetails, bitsPerPixel, comments,

http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/0a61492f/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
index 5528d84..0889363 100644
--- a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
@@ -321,8 +321,7 @@ public class PnmImageParser extends ImageParser {
             throws ImageWriteException, IOException {
         PnmWriter writer = null;
         boolean useRawbits = true;
-        final boolean hasAlpha = new PaletteFactory().hasTransparency(src);
-
+        
         if (params != null) {
             final Object useRawbitsParam = params.get(PARAM_KEY_PNM_RAWBITS);
             if (useRawbitsParam != null) {
@@ -346,6 +345,7 @@ public class PnmImageParser extends ImageParser {
         }
 
         if (writer == null) {
+            final boolean hasAlpha = new PaletteFactory().hasTransparency(src);
             if (hasAlpha) {
                 writer = new PamWriter();
             } else {   

http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/0a61492f/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
index ada294c..2647493 100644
--- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
@@ -187,10 +187,6 @@ public class TiffImageParser extends ImageParser {
             break;
 
         }
-        final TiffField xResolutionField = directory.findField(
-                TiffTagConstants.TIFF_TAG_XRESOLUTION);
-        final TiffField yResolutionField = directory.findField(
-                TiffTagConstants.TIFF_TAG_YRESOLUTION);
 
         int physicalWidthDpi = -1;
         float physicalWidthInch = -1;
@@ -198,6 +194,11 @@ public class TiffImageParser extends ImageParser {
         float physicalHeightInch = -1;
 
         if (unitsPerInch > 0) {
+            final TiffField xResolutionField = directory.findField(
+                    TiffTagConstants.TIFF_TAG_XRESOLUTION);
+            final TiffField yResolutionField = directory.findField(
+                    TiffTagConstants.TIFF_TAG_YRESOLUTION);
+
             if ((xResolutionField != null)
                     && (xResolutionField.getValue() != null)) {
                 final double xResolutionPixelsPerUnit = xResolutionField.getDoubleValue();