From 638ce5bbd731551b9f4db9c1c856c943f73b7b3e Mon Sep 17 00:00:00 2001 From: Arndt Brenschede Date: Sat, 7 Oct 2017 11:47:39 +0200 Subject: [PATCH] possible endless loop above 24 bits --- brouter-util/src/main/java/btools/util/BitCoderContext.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/brouter-util/src/main/java/btools/util/BitCoderContext.java b/brouter-util/src/main/java/btools/util/BitCoderContext.java index 825eec9..7a8f038 100644 --- a/brouter-util/src/main/java/btools/util/BitCoderContext.java +++ b/brouter-util/src/main/java/btools/util/BitCoderContext.java @@ -72,6 +72,10 @@ public class BitCoderContext int range = 1; int cnt = 1; fillBuffer(); + if ( (b & 0xffffff ) == 0 ) + { + return decodeVarBits2(); // fast version limited to 24 bit + } while ((b & range) == 0) { range = (range << 1) | 1;