diff options
author | James Almer <jamrial@gmail.com> | 2023-06-15 10:39:44 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2023-06-17 10:08:54 -0300 |
commit | 46a9be01b8c200636fb3ebbe43f209ae27b26dbc (patch) | |
tree | 6080adfea59e8ffee818a5d0cc91acf51eb5f406 | |
parent | 811460f5c2d32203aef1a6b7f15b3a5f831b107e (diff) | |
download | ffmpeg-46a9be01b8c200636fb3ebbe43f209ae27b26dbc.tar.gz |
avcodec/evc_parse: free pps struct on parsing failure
Prevents future checks for their presence from succeeding.
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r-- | libavcodec/evc_parse.c | 4 |
1 files changed, 3 insertions, 1 deletions
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); |