Check avio_printf value and len from avio_close_dyn_buf, it should incorrect if they are not equal each other.
Reported-by: TOTE Robot <os...@tsinghua.edu.cn> Signed-off-by: Steven Liu <l...@chinaffmpeg.org> --- fftools/ffmpeg_filter.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 452b689d62..ceb08b44f1 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -105,6 +105,7 @@ static char *choose_pix_fmts(OutputFilter *ofilter) AVIOContext *s = NULL; uint8_t *ret; int len; + int name_new_size = 0; if (avio_open_dyn_buf(&s) < 0) exit_program(1); @@ -116,9 +117,11 @@ static char *choose_pix_fmts(OutputFilter *ofilter) for (; *p != AV_PIX_FMT_NONE; p++) { const char *name = av_get_pix_fmt_name(*p); - avio_printf(s, "%s|", name); + name_new_size = avio_printf(s, "%s|", name); } len = avio_close_dyn_buf(s, &ret); + if (len != name_new_size) + return NULL; ret[len - 1] = 0; return ret; } else -- 2.25.0 _______________________________________________ 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".