[FFmpeg-cvslog] avcodec/evc_parse: free pps struct on parsing failure

James Almer git at videolan.org
Sat Jun 17 16:10:04 EEST 2023


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Thu Jun 15 10:39:44 2023 -0300| [46a9be01b8c200636fb3ebbe43f209ae27b26dbc] | committer: James Almer

avcodec/evc_parse: free pps struct on parsing failure

Prevents future checks for their presence from succeeding.

Signed-off-by: James Almer <jamrial at gmail.com>

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

 libavcodec/evc_parse.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/evc_parse.c b/libavcodec/evc_parse.c
index 095598e940..1d8757b231 100644
--- a/libavcodec/evc_parse.c
+++ b/libavcodec/evc_parse.c
@@ -367,8 +367,10 @@ EVCParserPPS *ff_evc_parse_pps(EVCParserContext *ctx, const uint8_t *bs, int bs_
     pps->pps_pic_parameter_set_id = pps_pic_parameter_set_id;
 
     pps->pps_seq_parameter_set_id = get_ue_golomb(&gb);
-    if (pps->pps_seq_parameter_set_id >= EVC_MAX_SPS_COUNT)
+    if (pps->pps_seq_parameter_set_id >= EVC_MAX_SPS_COUNT) {
+        av_freep(&ctx->pps[pps_pic_parameter_set_id]);
         return NULL;
+    }
 
     pps->num_ref_idx_default_active_minus1[0] = get_ue_golomb(&gb);
     pps->num_ref_idx_default_active_minus1[1] = get_ue_golomb(&gb);



More information about the ffmpeg-cvslog mailing list