[FFmpeg-cvslog] avformat/rtpdec_asf: fix leak in ff_wms_parse_sdp_a_line()

Lidong Yan git at videolan.org
Fri Jul 4 00:08:03 EEST 2025


ffmpeg | branch: master | Lidong Yan <yldhome2d2 at gmail.com> | Sun Jun 29 14:45:26 2025 +0800| [e68599f551de5a932bd7cb09db66d77ad52464dd] | committer: Michael Niedermayer

avformat/rtpdec_asf: fix leak in ff_wms_parse_sdp_a_line()

In ff_wms_parse_sdp_a_line(), it allocates memory in buf, but doesn't
free buf when avformat_alloc_context() failed. Add av_free(buf) before
return to prevent from leak.

Signed-off-by: Lidong Yan <502024330056 at smail.nju.edu.cn>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e68599f551de5a932bd7cb09db66d77ad52464dd
---

 libavformat/rtpdec_asf.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/rtpdec_asf.c b/libavformat/rtpdec_asf.c
index 9664623e57..b3b346f3cc 100644
--- a/libavformat/rtpdec_asf.c
+++ b/libavformat/rtpdec_asf.c
@@ -120,8 +120,10 @@ int ff_wms_parse_sdp_a_line(AVFormatContext *s, const char *p)
             avformat_close_input(&rt->asf_ctx);
         }
 
-        if (!(iformat = av_find_input_format("asf")))
+        if (!(iformat = av_find_input_format("asf"))) {
+            av_free(buf);
             return AVERROR_DEMUXER_NOT_FOUND;
+        }
 
         rt->asf_ctx = avformat_alloc_context();
         if (!rt->asf_ctx) {



More information about the ffmpeg-cvslog mailing list