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-compress.git

commit 25a54419d9715a77577e4a31e8303e20fbe34506
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat Feb 17 10:54:15 2024 -0500

    Add a band set parameter check
---
 .../java/org/apache/commons/compress/harmony/unpack200/BandSet.java  | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/apache/commons/compress/harmony/unpack200/BandSet.java 
b/src/main/java/org/apache/commons/compress/harmony/unpack200/BandSet.java
index b9eb7389d..67a6b5a3e 100644
--- a/src/main/java/org/apache/commons/compress/harmony/unpack200/BandSet.java
+++ b/src/main/java/org/apache/commons/compress/harmony/unpack200/BandSet.java
@@ -64,7 +64,9 @@ public abstract class BandSet {
      * @throws Pack200Exception if there is a problem decoding the value or 
that the value is invalid
      */
     public int[] decodeBandInt(final String name, final InputStream in, final 
BHSDCodec codec, final int count) throws IOException, Pack200Exception {
-        int[] band;
+        if (count < 0) {
+            throw new Pack200Exception("count < 0");
+        }
         // Useful for debugging
 //        if (count > 0) {
 //            System.out.println("decoding " + name + " " + count);
@@ -78,6 +80,7 @@ public abstract class BandSet {
             return getFirst;
         }
         final int first = getFirst[0];
+        int[] band;
         if (codec.isSigned() && first >= -256 && first <= -1) {
             // Non-default codec should be used
             codecUsed = CodecEncoding.getCodec(-1 - first, 
header.getBandHeadersInputStream(), codec);

Reply via email to