Le 06/05/13 22:45, Janne Grunau a écrit :
Fixes memory leak in fate-redcode-demux.
---
  libavcodec/jpeg2000dec.c | 13 +++++++------
  1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
index d29789f..97e706a 100644
--- a/libavcodec/jpeg2000dec.c
+++ b/libavcodec/jpeg2000dec.c
@@ -1285,26 +1285,27 @@ static int jpeg2000_decode_frame(AVCodecContext *avctx, 
void *data,
          return -1;
      }
      if (ret = jpeg2000_read_main_headers(s))
-        return ret;
+        goto end;
/* get picture buffer */
      if ((ret = ff_thread_get_buffer(avctx, &frame, 0)) < 0) {
          av_log(avctx, AV_LOG_ERROR, "ff_thread_get_buffer() failed.\n");
-        return ret;
+        goto end;
      }
      picture->pict_type = AV_PICTURE_TYPE_I;
      picture->key_frame = 1;
if (ret = jpeg2000_read_bitstream_packets(s))
-        return ret;
+        goto end;
      for (tileno = 0; tileno < s->numXtiles * s->numYtiles; tileno++)
          if (ret = jpeg2000_decode_tile(s, s->tile + tileno, picture))
-            return ret;
-    jpeg2000_dec_cleanup(s);
+            goto end;
*got_frame = 1; - return s->buf - s->buf_start;
+end:
+    jpeg2000_dec_cleanup(s);
+    return ret ? ret : s->buf - s->buf_start;
  }
#define OFFSET(x) offsetof(Jpeg2000DecoderContext, x)
LGTM

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to