On 4/12/2024 1:44 PM, LuMingYin wrote:
Signed-off-by: LuMingYin <lumingyindet...@163.com>
---
fftools/ffmpeg_mux_init.c | 7 ++++---
libavutil/mem.c | 5 ++++-
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c
index 6d8bd5bcdf..e7e2281bd0 100644
--- a/fftools/ffmpeg_mux_init.c
+++ b/fftools/ffmpeg_mux_init.c
@@ -2851,9 +2851,10 @@ static int parse_forced_key_frames(void *log,
KeyframeForceCtx *kf,
if (nb_ch > INT_MAX - size ||
!(pts = av_realloc_f(pts, size += nb_ch - 1,
- sizeof(*pts))))
- return AVERROR(ENOMEM);
-
+ sizeof(*pts)))) {
+ ret = AVERROR(ENOMEM);
+ goto fail;
+ }
if (p[8]) {
ret = av_parse_time(&t, p + 8, 1);
if (ret < 0) {
diff --git a/libavutil/mem.c b/libavutil/mem.c
index b205d3fb25..7f34765fe7 100644
--- a/libavutil/mem.c
+++ b/libavutil/mem.c
@@ -177,11 +177,14 @@ void *av_realloc_f(void *ptr, size_t nelem, size_t elsize)
if (size_mult(elsize, nelem, &size)) {
av_free(ptr);
+ ptr = NULL;
return NULL;
}
r = av_realloc(ptr, size);
- if (!r)
+ if (!r) {
av_free(ptr);
+ ptr = NULL;
+ }
This doesn't do what you think it does. ptr is a local variable in this
scope. Setting it to NULL will not be reflected in ffmpeg_mux_init.c
And even if it did, it would be an unexpected behavior change in a
public API function.
return r;
}
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".