This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-imaging.git

commit 65b32d6c8aa94debb6e549cb2b0eab928e88d440
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat Dec 23 11:01:48 2023 -0500

    Fail-fast on null inputs in AbstractPixelParser constructor (oss-fuzz
    34180) #183
---
 src/changes/changes.xml                                 |  3 +++
 .../imaging/formats/bmp/AbstractPixelParser.java        | 17 +++++++++--------
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 2a7bcbd0..f3190321 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -78,6 +78,9 @@ The <action> type attribute can be add,update,fix,remove.
       <action issue="IMAGING-337" dev="ggregory" type="fix" due-to="Gary 
Lucas, Gary Gregory">
         Make ImageInfo state correct color type #337.
       </action>
+      <action dev="ggregory" type="fix" due-to="Bruno P. Kinoshita, Gary 
Gregory">
+        Fail-fast on null inputs in AbstractPixelParser constructor (oss-fuzz 
34180) #183.
+      </action>
       <!-- ADD -->
       <action issue="IMAGING-352" dev="ggregory" type="add" due-to="Jeroen van 
der Vegt, Gary Gregory">
         [PngWriter] Allow custom PaletteFactory #294.
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/bmp/AbstractPixelParser.java 
b/src/main/java/org/apache/commons/imaging/formats/bmp/AbstractPixelParser.java
index dafdd594..b5fee061 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/bmp/AbstractPixelParser.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/bmp/AbstractPixelParser.java
@@ -19,6 +19,7 @@ package org.apache.commons.imaging.formats.bmp;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Objects;
 
 import org.apache.commons.imaging.ImagingException;
 import org.apache.commons.imaging.common.ImageBuilder;
@@ -31,19 +32,19 @@ abstract class AbstractPixelParser {
 
     final InputStream is;
 
-    AbstractPixelParser(final BmpHeaderInfo bhi, final byte[] colorTable, 
final byte[] imageData) {
-        this.bhi = bhi;
+    AbstractPixelParser(final BmpHeaderInfo bmpHeaderInfo, final byte[] 
colorTable, final byte[] imageData) {
+        this.bhi = Objects.requireNonNull(bmpHeaderInfo, "bmpHeaderInfo");
         this.colorTable = colorTable;
-        this.imageData = imageData;
+        this.imageData = Objects.requireNonNull(imageData, "imageData");
 
         is = new ByteArrayInputStream(imageData);
     }
 
-    int getColorTableRgb(int index) {
-        index *= 4;
-        final int blue = 0xff & colorTable[index + 0];
-        final int green = 0xff & colorTable[index + 1];
-        final int red = 0xff & colorTable[index + 2];
+    int getColorTableRgb(int actual) {
+        actual *= 4;
+        final int blue = 0xff & colorTable[actual + 0];
+        final int green = 0xff & colorTable[actual + 1];
+        final int red = 0xff & colorTable[actual + 2];
         final int alpha = 0xff;
 
         return (alpha << 24)

Reply via email to