From c64cff64a22a59c0c02281ee9fd9d89963d14d16 Mon Sep 17 00:00:00 2001 From: Jiasheng Jiang Date: Wed, 6 Aug 2025 14:54:22 +0000 Subject: [PATCH] examples: Add check and replace av_free() to avoid potential memory errors Add check for the return value of av_packet_alloc() to avoid potential NULL pointer dereference. Moreover, replace redundant av_free() with fprintf(). Fixes: 9a38184a14 ("examples/decode_audio: allocate the packet dynamically") Signed-off-by: Jiasheng Jiang Reviewed-by: Nicolas George Signed-off-by: Michael Niedermayer --- doc/examples/decode_audio.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/examples/decode_audio.c b/doc/examples/decode_audio.c index bcb3d87a69..26ce07a552 100644 --- a/doc/examples/decode_audio.c +++ b/doc/examples/decode_audio.c @@ -128,6 +128,10 @@ int main(int argc, char **argv) outfilename = argv[2]; pkt = av_packet_alloc(); + if (!pkt) { + fprintf(stderr, "Could not allocate AVPacket\n"); + exit(1); /* or proper cleanup and returning */ + } /* find the MPEG audio decoder */ codec = avcodec_find_decoder(AV_CODEC_ID_MP2); @@ -161,7 +165,7 @@ int main(int argc, char **argv) } outfile = fopen(outfilename, "wb"); if (!outfile) { - av_free(c); + fprintf(stderr, "Could not open %s\n", outfilename); exit(1); }