aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-06-18 18:03:21 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2015-06-19 11:10:43 +0200
commit2d55d3483b8e6aa81f32bf8f8c1b797cc59e0af6 (patch)
treef894d951c7f076eb2a6a3d6794c1f79e6858aae7 /libavcodec
parente29f68cf9e336b685362f56e6a45d574af97a770 (diff)
downloadffmpeg-2d55d3483b8e6aa81f32bf8f8c1b797cc59e0af6.tar.gz
avcodec/hevc_ps: Only discard overread VPS if a previous is available
Fixes Ticket4621 Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 57078e4d255a06246fef27846073f5ffb312b5dc)
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/hevc_ps.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c
index 8d80e19692..5f5bad224f 100644
--- a/libavcodec/hevc_ps.c
+++ b/libavcodec/hevc_ps.c
@@ -461,7 +461,8 @@ int ff_hevc_decode_nal_vps(HEVCContext *s)
if (get_bits_left(gb) < 0) {
av_log(s->avctx, AV_LOG_ERROR,
"Overread VPS by %d bits\n", -get_bits_left(gb));
- goto err;
+ if (s->vps_list[vps_id])
+ goto err;
}
av_buffer_unref(&s->vps_list[vps_id]);