diff options
| author | jmestwa-coder <jmestwa@gmail.com> | 2026-06-12 17:29:55 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-06-12 17:29:55 +0300 |
| commit | 6dc847efc12c2aa0a8c803a0ecd5c93c6e31f170 (patch) | |
| tree | c764feac2b4ad9eec1a3ce68e07bcbfd2d9fe92e /core/src/test/java | |
| parent | 297c6b296e2c9a202bf39513c7d688f8c65a00f0 (diff) | |
| download | zxing-6dc847efc12c2aa0a8c803a0ecd5c93c6e31f170.tar.xz | |
guard unterminated AI in ExpandedProductResultParser (#2088)
Diffstat (limited to 'core/src/test/java')
| -rw-r--r-- | core/src/test/java/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/src/test/java/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java b/core/src/test/java/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java index 861e6636f..7f83999d0 100644 --- a/core/src/test/java/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java +++ b/core/src/test/java/com/google/zxing/client/result/ExpandedProductParsedResultTestCase.java @@ -63,4 +63,14 @@ public final class ExpandedProductParsedResultTestCase extends Assert { assertEquals("445", o.getPriceCurrency()); assertEquals(uncommonAIs, o.getUncommonAIs()); } + + @Test + public void testUnterminatedAI() { + // an AI that is not closed by ')' must not match, rather than read past the end of the text + ExpandedProductResultParser parser = new ExpandedProductResultParser(); + assertNull(parser.parse(new Result("(99", null, null, BarcodeFormat.RSS_EXPANDED))); + assertNull(parser.parse(new Result("(", null, null, BarcodeFormat.RSS_EXPANDED))); + // a valid prefix followed by a truncated final AI must parse without throwing + assertNotNull(parser.parse(new Result("(01)66546(13)001205(3932", null, null, BarcodeFormat.RSS_EXPANDED))); + } } |
