diff options
| author | Sean Owen <srowen@gmail.com> | 2026-07-28 16:28:07 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-07-28 16:28:07 +0300 |
| commit | ab76000b99820ab015ae5752729cd95972e09416 (patch) | |
| tree | 0688ebd15c5da4bd2de5ca4712a2b76f2c78c4ad /core/src/main/java | |
| parent | ff54b24b26b1c80a78aa69a9bb0b61bf7c9c5267 (diff) | |
| download | zxing-ab76000b99820ab015ae5752729cd95972e09416.tar.xz | |
Fix PDF infinite loop (#2128)
Port of https://github.com/zxing-cpp/zxing-cpp/pull/320
Diffstat (limited to 'core/src/main/java')
| -rw-r--r-- | core/src/main/java/com/google/zxing/pdf417/detector/Detector.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/src/main/java/com/google/zxing/pdf417/detector/Detector.java b/core/src/main/java/com/google/zxing/pdf417/detector/Detector.java index cda7f650f..6d578c672 100644 --- a/core/src/main/java/com/google/zxing/pdf417/detector/Detector.java +++ b/core/src/main/java/com/google/zxing/pdf417/detector/Detector.java @@ -212,11 +212,12 @@ public final class Detector { int[] pattern) { ResultPoint[] result = new ResultPoint[4]; boolean found = false; + int minStartRow = startRow; int[] counters = new int[pattern.length]; for (; startRow < height; startRow += ROW_STEP) { int[] loc = findGuardPattern(matrix, startColumn, startRow, width, pattern, counters); if (loc != null) { - while (startRow > 0) { + while (startRow > minStartRow + 1) { int[] previousRowLoc = findGuardPattern(matrix, startColumn, --startRow, width, pattern, counters); if (previousRowLoc != null) { loc = previousRowLoc; |
