Avoid OOB reads when a stream contains an invalid OBU size.
BUG=aomedia:1146
Change-Id: I77073b67b1924e8649d5135ee8fc9020c6cc0b8c
diff --git a/av1/decoder/obu.c b/av1/decoder/obu.c
index f5a194c..f39f41e 100644
--- a/av1/decoder/obu.c
+++ b/av1/decoder/obu.c
@@ -299,6 +299,11 @@
const size_t length_field_size = PRE_OBU_SIZE_BYTES;
#endif // CONFIG_OBU_SIZING
+ if (obu_size > bytes_available) {
+ cm->error.error_code = AOM_CODEC_CORRUPT_FRAME;
+ return;
+ }
+
av1_init_read_bit_buffer(pbi, &rb, data + length_field_size, data_end);
#if !CONFIG_SCALABILITY