aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2024-06-10 15:20:23 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2024-06-11 08:16:42 +0200
commitc84e40d9e6cec745edee52fc801737d71ab89543 (patch)
tree91904ec34b57f225328c5af761d4c5c2ae2afbb5
parenta0ff31e740ec05e947ee0759c9f805a8894586ff (diff)
downloadffmpeg-c84e40d9e6cec745edee52fc801737d71ab89543.tar.gz
fftools/ffmpeg_mux_init: Return error upon error
Currently it may return an uninitialized value. Introduced in 840f2bc18eddd72fa886aec30efc82991b920c45. Fixes Coverity issue #1603565. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r--fftools/ffmpeg_mux_init.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c
index b1cb6cf7bd..2ed4171a75 100644
--- a/fftools/ffmpeg_mux_init.c
+++ b/fftools/ffmpeg_mux_init.c
@@ -3022,10 +3022,14 @@ 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;
+ }
+ size += nb_ch - 1;
+ pts = av_realloc_f(pts, size, sizeof(*pts));
+ if (!pts)
+ return AVERROR(ENOMEM);
if (p[8]) {
ret = av_parse_time(&t, p + 8, 1);