ffmpeg: Use avio_closep() to avoid leaving stale pointers in memory
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 8 Jan 2015 13:10:58 +0000 (14:10 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 8 Jan 2015 13:10:58 +0000 (14:10 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c

index ddf4272..840c621 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -459,7 +459,7 @@ static void ffmpeg_cleanup(int ret)
         OutputFile *of = output_files[i];
         AVFormatContext *s = of->ctx;
         if (s && s->oformat && !(s->oformat->flags & AVFMT_NOFILE) && s->pb)
-            avio_close(s->pb);
+            avio_closep(&s->pb);
         avformat_free_context(s);
         av_dict_free(&of->opts);
 
@@ -1560,8 +1560,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
         avio_flush(progress_avio);
         av_bprint_finalize(&buf_script, NULL);
         if (is_last_report) {
-            avio_close(progress_avio);
-            progress_avio = NULL;
+            avio_closep(&progress_avio);
         }
     }
 
@@ -2293,7 +2292,7 @@ static void print_sdp(void)
             av_log(NULL, AV_LOG_ERROR, "Failed to open sdp file '%s'\n", sdp_filename);
         } else {
             avio_printf(sdp_pb, "SDP:\n%s", sdp);
-            avio_close(sdp_pb);
+            avio_closep(&sdp_pb);
             av_freep(&sdp_filename);
         }
     }