From 9a999d4ab9eee86c0da8c7fbb66c0a7893a3bae3 Mon Sep 17 00:00:00 2001 From: darmbrust Date: Tue, 21 Apr 2020 21:07:22 -0500 Subject: [PATCH] fix for 0 length txt parsing issue https://github.com/fflewddur/hola/issues/14 --- .../java/net/straylightlabs/hola/dns/Record.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/net/straylightlabs/hola/dns/Record.java b/src/main/java/net/straylightlabs/hola/dns/Record.java index a0eca43..664a2f6 100644 --- a/src/main/java/net/straylightlabs/hola/dns/Record.java +++ b/src/main/java/net/straylightlabs/hola/dns/Record.java @@ -138,13 +138,15 @@ private static String readLabel(ByteBuffer buffer, int length) { public static List readStringsFromBuffer(ByteBuffer buffer, int length) { List strings = new ArrayList<>(); - int bytesRead = 0; - do { - int stringLength = buffer.get() & 0xFF; - String label = readLabel(buffer, stringLength); - bytesRead += label.length() + 1; - strings.add(label); - } while (bytesRead < length); + if (length > 0) { + int bytesRead = 0; + do { + int stringLength = buffer.get() & 0xFF; + String label = readLabel(buffer, stringLength); + bytesRead += label.length() + 1; + strings.add(label); + } while (bytesRead < length); + } return strings; }