[FFmpeg-cvslog] avcodec/evc_ps: Fix leak on error

Andreas Rheinhardt git at videolan.org
Tue Sep 26 22:14:59 EEST 2023


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Thu Sep 21 19:17:54 2023 +0200| [378f1b6a393e7bf0ceb50a9454e3664a599d84d1] | committer: Andreas Rheinhardt

avcodec/evc_ps: Fix leak on error

Regression since 4565747056a11356210ed8edcecb920105e40b60.
Fixes Coverity ticket #1545072.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=378f1b6a393e7bf0ceb50a9454e3664a599d84d1
---

 libavcodec/evc_ps.c | 6 ++++--
 1 file 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);



More information about the ffmpeg-cvslog mailing list