]> git.sesse.net Git - ffmpeg/commitdiff
mxg: do not leak mxg->buffer
authorPaul B Mahol <onemda@gmail.com>
Fri, 22 Feb 2013 13:37:35 +0000 (13:37 +0000)
committerPaul B Mahol <onemda@gmail.com>
Fri, 22 Feb 2013 13:37:35 +0000 (13:37 +0000)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavformat/mxg.c

index d911a33e7f92dbceb11e2146ea696a8fa9cf27a7..e9a6f22b20767c31dadada0177f9222879dc7fbd 100644 (file)
@@ -101,17 +101,19 @@ static int mxg_update_cache(AVFormatContext *s, unsigned int cache_size)
     MXGContext *mxg = s->priv_data;
     unsigned int current_pos = mxg->buffer_ptr - mxg->buffer;
     unsigned int soi_pos;
+    uint8_t *buffer;
     int ret;
 
     /* reallocate internal buffer */
     if (current_pos > current_pos + cache_size)
         return AVERROR(ENOMEM);
     soi_pos = mxg->soi_ptr - mxg->buffer;
-    mxg->buffer = av_fast_realloc(mxg->buffer, &mxg->buffer_size,
-                                  current_pos + cache_size +
-                                  FF_INPUT_BUFFER_PADDING_SIZE);
-    if (!mxg->buffer)
+    buffer = av_fast_realloc(mxg->buffer, &mxg->buffer_size,
+                             current_pos + cache_size +
+                             FF_INPUT_BUFFER_PADDING_SIZE);
+    if (!buffer)
         return AVERROR(ENOMEM);
+    mxg->buffer = buffer;
     mxg->buffer_ptr = mxg->buffer + current_pos;
     if (mxg->soi_ptr) mxg->soi_ptr = mxg->buffer + soi_pos;