[FFmpeg-devel] [PATCH 1/3] libavformat/libopenmpt: Fix memory leak in error path in read_header_openmpt().

Jörn Heusipp osmanx at problemloesungsmaschine.de
Sun Jul 17 16:37:12 EEST 2016


Signed-off-by: Jörn Heusipp <osmanx at problemloesungsmaschine.de>
---
 libavformat/libopenmpt.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/libopenmpt.c b/libavformat/libopenmpt.c
index fd38828..58a02be 100644
--- a/libavformat/libopenmpt.c
+++ b/libavformat/libopenmpt.c
@@ -89,8 +89,11 @@ static int read_header_openmpt(AVFormatContext *s)
     add_meta(s, "comment", openmpt_module_get_metadata(openmpt->module, "message"));
 
     st = avformat_new_stream(s, NULL);
-    if (!st)
+    if (!st) {
+        openmpt_module_destroy(openmpt->module);
+        openmpt->module = NULL;
         return AVERROR(ENOMEM);
+    }
     avpriv_set_pts_info(st, 64, 1, 1000);
     if (st->duration > 0)
         st->duration = llrint(openmpt->duration*AV_TIME_BASE);
@@ -146,6 +149,7 @@ static int read_close_openmpt(AVFormatContext *s)
 {
     OpenMPTContext *openmpt = s->priv_data;
     openmpt_module_destroy(openmpt->module);
+    openmpt->module = NULL;
     return 0;
 }
 
-- 
1.9.1



More information about the ffmpeg-devel mailing list