Signed-off-by: Michael Niedermayer
---
libavcodec/flacdec.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c
index af81115ff8..0fffc2dd94 100644
--- a/libavcodec/flacdec.c
+++ b/libavcodec/flacdec.c
@@ -259,7 +259,13 @@ static int decode_residuals(FLACContext *s, int32_t
*decoded, int pred_order)
*decoded++ = get_sbits_long(>gb, tmp);
} else {
for (; i < samples; i++) {
-*decoded++ = get_sr_golomb_flac(>gb, tmp, INT_MAX, 0);
+int v = get_sr_golomb_flac(>gb, tmp, INT_MAX, 0);
+if (v == 0x8000){
+av_log(s->avctx, AV_LOG_ERROR, "invalid residual\n");
+return AVERROR_INVALIDDATA;
+}
+
+*decoded++ = v;
}
}
i= 0;
--
2.11.0
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel