summaryrefslogtreecommitdiff
path: root/libavcodec/hevc_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/hevc_parser.c')
-rw-r--r--libavcodec/hevc_parser.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/hevc_parser.c b/libavcodec/hevc_parser.c
index 35cace5e3c..fc107978c6 100644
--- a/libavcodec/hevc_parser.c
+++ b/libavcodec/hevc_parser.c
@@ -225,6 +225,7 @@ static inline int parse_nal_units(AVCodecParserContext *s, const uint8_t *buf,
for (;;) {
int src_length, consumed;
+ int ret;
buf = avpriv_find_start_code(buf, buf_end, &state);
if (--buf + 2 >= buf_end)
break;
@@ -242,7 +243,10 @@ static inline int parse_nal_units(AVCodecParserContext *s, const uint8_t *buf,
if (consumed < 0)
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) {
case NAL_VPS:
ff_hevc_decode_nal_vps(gb, avctx, ps);