avformat/smoothstreamingenc: Use av_freep() avoid leaving stale pointers in memory
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 25 Dec 2014 11:42:22 +0000 (12:42 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 25 Dec 2014 11:51:48 +0000 (12:51 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/smoothstreamingenc.c

index d6cdf90..597f945 100644 (file)
@@ -179,13 +179,13 @@ static void ism_free(AVFormatContext *s)
         if (os->ctx && os->ctx_inited)
             av_write_trailer(os->ctx);
         if (os->ctx && os->ctx->pb)
-            av_free(os->ctx->pb);
+            av_freep(&os->ctx->pb);
         if (os->ctx)
             avformat_free_context(os->ctx);
-        av_free(os->private_str);
+        av_freep(&os->private_str);
         for (j = 0; j < os->nb_fragments; j++)
-            av_free(os->fragments[j]);
-        av_free(os->fragments);
+            av_freep(&os->fragments[j]);
+        av_freep(&os->fragments);
     }
     av_freep(&c->streams);
 }
@@ -558,7 +558,7 @@ static int ism_flush(AVFormatContext *s, int final)
                 for (j = 0; j < remove; j++) {
                     unlink(os->fragments[j]->file);
                     unlink(os->fragments[j]->infofile);
-                    av_free(os->fragments[j]);
+                    av_freep(&os->fragments[j]);
                 }
                 os->nb_fragments -= remove;
                 memmove(os->fragments, os->fragments + remove, os->nb_fragments * sizeof(*os->fragments));