diff --git a/core/src/com/google/zxing/qrcode/QRCodeReader.java b/core/src/com/google/zxing/qrcode/QRCodeReader.java index 819ba85be..a25e663e2 100644 --- a/core/src/com/google/zxing/qrcode/QRCodeReader.java +++ b/core/src/com/google/zxing/qrcode/QRCodeReader.java @@ -149,10 +149,18 @@ public class QRCodeReader implements Reader { // But careful that this does not sample off the edge int nudgedTooFarRight = left + (int) ((matrixWidth - 1) * moduleSize) - (right - 1); if (nudgedTooFarRight > 0) { + if (nudgedTooFarRight > nudge) { + // Neither way fits; abort + throw NotFoundException.getNotFoundInstance(); + } left -= nudgedTooFarRight; } int nudgedTooFarDown = top + (int) ((matrixHeight - 1) * moduleSize) - (bottom - 1); if (nudgedTooFarDown > 0) { + if (nudgedTooFarDown > nudge) { + // Neither way fits; abort + throw NotFoundException.getNotFoundInstance(); + } top -= nudgedTooFarDown; }