[FFmpeg-devel] [PATCH] fftools/ffmpeg_mux_init: Return error upon error

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Tue Jun 11 09:38:40 EEST 2024


Anton Khirnov:
> Quoting Andreas Rheinhardt (2024-06-10 15:24:49)
>> Currently it may return an uninitialized value.
>> Introduced in 840f2bc18eddd72fa886aec30efc82991b920c45.
>> Fixes Coverity issue #1603565.
>>
>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
>> ---
>>  fftools/ffmpeg_mux_init.c | 9 ++++++---
>>  1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c
>> index b1cb6cf7bd..1953655135 100644
>> --- a/fftools/ffmpeg_mux_init.c
>> +++ b/fftools/ffmpeg_mux_init.c
>> @@ -3022,10 +3022,13 @@ static int parse_forced_key_frames(void *log, KeyframeForceCtx *kf,
>>              unsigned int    nb_ch = mux->fc->nb_chapters;
>>              int j;
>>  
>> -            if (nb_ch > INT_MAX - size ||
>> -                !(pts = av_realloc_f(pts, size += nb_ch - 1,
>> -                                     sizeof(*pts))))
>> +            if (nb_ch > INT_MAX - size) {
>> +                ret = AVERROR(ERANGE);
>>                  goto fail;
>> +            }
>> +            pts = av_realloc_f(pts, size += nb_ch - 1, sizeof(*pts));
>> +            if (!pts)
>> +                return AVERROR(ENOMEM);
> 
> Looks good.
> 
> Would look even better with the size increment outside of the
> av_realloc_f() call.
> 

Apply with that change.

- Andreas



More information about the ffmpeg-devel mailing list