From f90983738b0192b19cd000decc08b6f7772b2803 Mon Sep 17 00:00:00 2001 From: rbultje Date: Sat, 21 Mar 2009 20:59:59 +0000 Subject: [PATCH] Free metadata if already allocated; fixes a memleak if the header occurs twice in a stream (e.g. malicious input, broken file, etc.). See summary in "[PATCH] rtsp.c small cleanups" thread on mailinglist. git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18126 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b --- libavformat/rtsp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 47378146f..5100c978e 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -202,6 +202,8 @@ static void sdp_parse_fmtp_config(AVCodecContext *codec, char *attr, char *value if (!strcmp(attr, "config")) { /* decode the hexa encoded parameter */ int len = hex_to_data(NULL, value); + if (codec->extradata) + av_free(codec->extradata); codec->extradata = av_mallocz(len + FF_INPUT_BUFFER_PADDING_SIZE); if (!codec->extradata) return; -- 2.39.2