[FFmpeg-cvslog] avformat/rtpdec_asf: free the buffer pointed by the AVIOContext

James Almer git at videolan.org
Mon Nov 6 21:26:31 EET 2017


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Mon Nov  6 13:25:18 2017 -0300| [f7c01ff24d706e2c7d645944227a5242e0f1203f] | committer: James Almer

avformat/rtpdec_asf: free the buffer pointed by the AVIOContext

Don't free the buffer allocated in ff_wms_parse_sdp_a_line() after
calling avformat_open_input(), as it may free it and replace it with
another one.

Should fix ticket #6808

Tested-by: Carl Eugen Hoyos <ceffmpeg at gmail.com>
Signed-off-by: James Almer <jamrial at gmail.com>

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

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

diff --git a/libavformat/rtpdec_asf.c b/libavformat/rtpdec_asf.c
index 2c09fda10b..09f214a71c 100644
--- a/libavformat/rtpdec_asf.c
+++ b/libavformat/rtpdec_asf.c
@@ -139,12 +139,12 @@ int ff_wms_parse_sdp_a_line(AVFormatContext *s, const char *p)
         ret = avformat_open_input(&rt->asf_ctx, "", iformat, &opts);
         av_dict_free(&opts);
         if (ret < 0) {
-            av_free(buf);
+            av_free(pb.buffer);
             return ret;
         }
         av_dict_copy(&s->metadata, rt->asf_ctx->metadata, 0);
         rt->asf_pb_pos = avio_tell(&pb);
-        av_free(buf);
+        av_free(pb.buffer);
         rt->asf_ctx->pb = NULL;
     }
     return ret;



More information about the ffmpeg-cvslog mailing list