summaryrefslogtreecommitdiff
path: root/libavcodec/evc_ps.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-09-21 19:17:54 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-09-26 20:41:55 +0200
commit378f1b6a393e7bf0ceb50a9454e3664a599d84d1 (patch)
treeaf293ed8b9a05f802541809ddee7c80155e580a5 /libavcodec/evc_ps.c
parente1530a319ab5e9dfa6715391824d203914323ed5 (diff)
avcodec/evc_ps: Fix leak on error
Regression since 4565747056a11356210ed8edcecb920105e40b60. Fixes Coverity ticket #1545072. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/evc_ps.c')
-rw-r--r--libavcodec/evc_ps.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/evc_ps.c b/libavcodec/evc_ps.c
index be27386292..c11b92d1c5 100644
--- a/libavcodec/evc_ps.c
+++ b/libavcodec/evc_ps.c
@@ -255,8 +255,10 @@ int ff_evc_parse_sps(GetBitContext *gb, EVCParamSets *ps)
sps->max_num_tid0_ref_pics = get_ue_golomb_31(gb);
else {
sps->sps_max_dec_pic_buffering_minus1 = get_ue_golomb_long(gb);
- if ((unsigned)sps->sps_max_dec_pic_buffering_minus1 > 16 - 1)
- return AVERROR_INVALIDDATA;
+ if ((unsigned)sps->sps_max_dec_pic_buffering_minus1 > 16 - 1) {
+ ret = AVERROR_INVALIDDATA;
+ goto fail;
+ }
sps->long_term_ref_pic_flag = get_bits1(gb);
sps->rpl1_same_as_rpl0_flag = get_bits1(gb);
sps->num_ref_pic_list_in_sps[0] = get_ue_golomb(gb);