diff --git a/libavformat/smoothstreamingenc.c b/libavformat/smoothstreamingenc.c index d6cdf90f52..597f945164 100644 --- a/libavformat/smoothstreamingenc.c +++ b/libavformat/smoothstreamingenc.c @@ -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));