From 980fa02d637c4ce4a63ed25e5ecabdf88ab2ed0f Mon Sep 17 00:00:00 2001 From: Enrique Zamudio Date: Fri, 30 Nov 2012 12:25:56 -0600 Subject: [PATCH] Fix validation of binary number length https://sourceforge.net/p/j8583/bugs/9/ --- src/main/java/com/solab/iso8583/parse/NumericParseInfo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/solab/iso8583/parse/NumericParseInfo.java b/src/main/java/com/solab/iso8583/parse/NumericParseInfo.java index e7c36f1..4f1f356 100644 --- a/src/main/java/com/solab/iso8583/parse/NumericParseInfo.java +++ b/src/main/java/com/solab/iso8583/parse/NumericParseInfo.java @@ -38,7 +38,7 @@ public class NumericParseInfo extends AlphaNumericFieldParseInfo { public IsoValue parseBinary(byte[] buf, int pos, CustomField custom) throws ParseException { if (pos < 0) { throw new ParseException(String.format("Invalid bin NUMERIC position %d", pos), pos); - } else if (pos+length > buf.length) { + } else if (pos+(length/2) > buf.length) { throw new ParseException(String.format("Insufficient data for bin %s field of length %d, pos %d", type, length, pos), pos); }