From c3523db9e76133c57043f75f42716b7c34bb5c0f Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Wed, 27 Apr 2016 14:25:26 +0300 Subject: Do no try to restore strings of invalid length. --- main/src/main/java/de/blinkt/openvpn/core/LogItem.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/main/src/main/java/de/blinkt/openvpn/core/LogItem.java b/main/src/main/java/de/blinkt/openvpn/core/LogItem.java index 57bc3e1e..d767e073 100644 --- a/main/src/main/java/de/blinkt/openvpn/core/LogItem.java +++ b/main/src/main/java/de/blinkt/openvpn/core/LogItem.java @@ -151,6 +151,8 @@ public class LogItem implements Parcelable { if (len == 0) { mMessage = null; } else { + if (len > bb.remaining()) + throw new IndexOutOfBoundsException("String length " + len + " is bigger than remaining bytes " + bb.remaining()); byte[] utf8bytes = new byte[len]; bb.get(utf8bytes); mMessage = new String(utf8bytes, "UTF-8"); -- cgit v1.2.3