From 284a31737e16ec61c8deb153d496672773fd8fa2 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 28 Nov 2017 19:33:34 -0800 Subject: [PATCH] Catch input buffer too small --- .../binding/video/MediaCodecDecoderRenderer.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java b/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java index faaf3abd..86a54946 100644 --- a/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java +++ b/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java @@ -882,6 +882,16 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer { } } + if (decodeUnitLength > buf.limit() - buf.position()) { + IllegalArgumentException exception = new IllegalArgumentException( + "Decode unit length "+decodeUnitLength+" too large for input buffer "+buf.limit()); + if (!reportedCrash) { + reportedCrash = true; + crashListener.notifyCrash(exception); + } + throw new RendererException(this, exception); + } + // Copy data from our buffer list into the input buffer buf.put(decodeUnitData, 0, decodeUnitLength);