avplay: Always free find_stream_info options
authorLuca Barbato <lu_zero@gentoo.org>
Tue, 14 Oct 2014 15:46:38 +0000 (16:46 +0100)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Fri, 17 Oct 2014 08:55:46 +0000 (09:55 +0100)
CC: libav-stable@libav.org
Bug-Id: CID 1238794

avplay.c

index 4a7759b..0eb6fb2 100644 (file)
--- a/avplay.c
+++ b/avplay.c
@@ -2266,14 +2266,16 @@ static int decode_thread(void *arg)
     orig_nb_streams = ic->nb_streams;
 
     err = avformat_find_stream_info(ic, opts);
+
+    for (i = 0; i < orig_nb_streams; i++)
+        av_dict_free(&opts[i]);
+    av_freep(&opts);
+
     if (err < 0) {
         fprintf(stderr, "%s: could not find codec parameters\n", is->filename);
         ret = -1;
         goto fail;
     }
-    for (i = 0; i < orig_nb_streams; i++)
-        av_dict_free(&opts[i]);
-    av_freep(&opts);
 
     if (ic->pb)
         ic->pb->eof_reached = 0; // FIXME hack, avplay maybe should not use url_feof() to test for the end