diff options
| author | Sean Owen <srowen@gmail.com> | 2021-09-18 05:46:37 +0300 |
|---|---|---|
| committer | Sean Owen <srowen@gmail.com> | 2021-09-18 05:46:37 +0300 |
| commit | be2c5bdd883f9f42e794e4b0e7e1b30f436fc0a7 (patch) | |
| tree | a1fc626dfb8a18291198c36cbcf42c7998d01603 /core/src | |
| parent | c6a4e0fa97da88f586fa91baeae472f7f45dffae (diff) | |
| download | zxing-be2c5bdd883f9f42e794e4b0e7e1b30f436fc0a7.tar.xz | |
Fix for https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38913
Diffstat (limited to 'core/src')
| -rw-r--r-- | core/src/main/java/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/core/src/main/java/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java b/core/src/main/java/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java index e406e2f00..259345657 100644 --- a/core/src/main/java/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java +++ b/core/src/main/java/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java @@ -100,7 +100,7 @@ public final class ReedSolomonDecoder { GenericGFPoly t = field.getOne(); // Run Euclidean algorithm until r's degree is less than R/2 - while (r.getDegree() >= R / 2) { + while (2 * r.getDegree() >= R) { GenericGFPoly rLastLast = rLast; GenericGFPoly tLastLast = tLast; rLast = r; @@ -125,7 +125,8 @@ public final class ReedSolomonDecoder { t = q.multiply(tLast).addOrSubtract(tLastLast); if (r.getDegree() >= rLast.getDegree()) { - throw new IllegalStateException("Division algorithm failed to reduce polynomial?"); + throw new IllegalStateException("Division algorithm failed to reduce polynomial? " + + "r: " + r + ", rLast: " + rLast); } } |
