avcodec/av1_parse: Check obu_size
authorMichael Niedermayer <michael@niedermayer.cc>
Sun, 14 Oct 2018 10:40:38 +0000 (12:40 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Sun, 14 Oct 2018 23:19:45 +0000 (01:19 +0200)
Fixes: out of array read
Fixes: SIGSEGV_get_obu_bit_length_av1_parse

Found-by: keval shah <skeval65@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/av1_parse.h

index 276af33..864308f 100644 (file)
@@ -134,8 +134,8 @@ static inline int parse_obu_header(const uint8_t *buf, int buf_size,
 
     size = *obu_size + *start_pos;
 
-    if (size > INT_MAX)
-        return AVERROR(ERANGE);
+    if (size > buf_size)
+        return AVERROR_INVALIDDATA;
 
     return size;
 }