summaryrefslogtreecommitdiff
path: root/core/src/main/java/com
diff options
context:
space:
mode:
authorSean Owen <srowen@gmail.com>2023-08-17 23:28:32 +0300
committerSean Owen <srowen@gmail.com>2023-08-17 23:28:32 +0300
commitaa58f2ec3016a2e91a1fe55c7ab764c236df6094 (patch)
treea7ffc001bc50af6bf72a34baf89ff3c1304d2c8b /core/src/main/java/com
parentfc2f1c9b0f0218c72ec5cab0d4030b4abfb73945 (diff)
downloadzxing-aa58f2ec3016a2e91a1fe55c7ab764c236df6094.tar.xz
Possible fix for obscure corner case in https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=37868
Diffstat (limited to 'core/src/main/java/com')
-rw-r--r--core/src/main/java/com/google/zxing/oned/Code128Writer.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/core/src/main/java/com/google/zxing/oned/Code128Writer.java b/core/src/main/java/com/google/zxing/oned/Code128Writer.java
index 3c74f4d27..a31a673f5 100644
--- a/core/src/main/java/com/google/zxing/oned/Code128Writer.java
+++ b/core/src/main/java/com/google/zxing/oned/Code128Writer.java
@@ -249,6 +249,9 @@ public final class Code128Writer extends OneDimensionalCodeWriter {
static boolean[] produceResult(Collection<int[]> patterns, int checkSum) {
// Compute and append checksum
checkSum %= 103;
+ if (checkSum < 0) {
+ throw new IllegalArgumentException("Unable to compute a valid input checksum");
+ }
patterns.add(Code128Reader.CODE_PATTERNS[checkSum]);
// Append stop code