[FFmpeg-cvslog] avfilter/vf_drawtext: fix resource leaks

Michael Niedermayer git at videolan.org
Sun Apr 27 03:35:53 CEST 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Apr 27 01:54:32 2014 +0200| [6956b048d8198dce5126c8942dece21cfb1a7978] | committer: Michael Niedermayer

avfilter/vf_drawtext: fix resource leaks

Fixes CID1206649

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavfilter/vf_drawtext.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c
index 280abb8..f7486c9 100644
--- a/libavfilter/vf_drawtext.c
+++ b/libavfilter/vf_drawtext.c
@@ -457,6 +457,7 @@ static int load_textfile(AVFilterContext *ctx)
     DrawTextContext *s = ctx->priv;
     int err;
     uint8_t *textbuf;
+    uint8_t *tmp;
     size_t textbuf_size;
 
     if ((err = av_file_map(s->textfile, &textbuf, &textbuf_size, 0, ctx)) < 0) {
@@ -466,8 +467,11 @@ static int load_textfile(AVFilterContext *ctx)
         return err;
     }
 
-    if (!(s->text = av_realloc(s->text, textbuf_size + 1)))
+    if (!(tmp = av_realloc(s->text, textbuf_size + 1))) {
+        av_file_unmap(textbuf, textbuf_size);
         return AVERROR(ENOMEM);
+    }
+    s->text = tmp;
     memcpy(s->text, textbuf, textbuf_size);
     s->text[textbuf_size] = 0;
     av_file_unmap(textbuf, textbuf_size);



More information about the ffmpeg-cvslog mailing list