avcodec/hevc_parser: Check init_get_bits8() for failure

Fixes: CID1322322

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2015-09-04 03:09:03 +02:00
parent 194dd15558
commit bd6610c3b3

View File

@ -225,6 +225,7 @@ static inline int parse_nal_units(AVCodecParserContext *s, const uint8_t *buf,
for (;;) { for (;;) {
int src_length, consumed; int src_length, consumed;
int ret;
buf = avpriv_find_start_code(buf, buf_end, &state); buf = avpriv_find_start_code(buf, buf_end, &state);
if (--buf + 2 >= buf_end) if (--buf + 2 >= buf_end)
break; break;
@ -242,7 +243,10 @@ static inline int parse_nal_units(AVCodecParserContext *s, const uint8_t *buf,
if (consumed < 0) if (consumed < 0)
return consumed; return consumed;
init_get_bits8(gb, nal->data + 2, nal->size); ret = init_get_bits8(gb, nal->data + 2, nal->size);
if (ret < 0)
return ret;
switch (h->nal_unit_type) { switch (h->nal_unit_type) {
case NAL_VPS: case NAL_VPS:
ff_hevc_decode_nal_vps(gb, avctx, ps); ff_hevc_decode_nal_vps(gb, avctx, ps);