diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-10-08 17:22:24 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-10-08 17:22:24 +0400 |
commit | e97f38ce6300e9b8bca59db929487c915a87e4e4 (patch) | |
tree | 62865b73a99b62fcebcbb7546e9cfbbdef909826 | |
parent | b530e2e351290b8a734b79c4b1165060f6a8484c (diff) |
ffserver: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | ffserver.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/ffserver.c b/ffserver.c index 24e400504c..e98cc623bb 100644 --- a/ffserver.c +++ b/ffserver.c @@ -865,7 +865,7 @@ static void new_connection(int server_fd, int is_rtsp) fail: if (c) { - av_free(c->buffer); + av_freep(&c->buffer); av_free(c); } closesocket(fd); @@ -918,8 +918,8 @@ static void close_connection(HTTPContext *c) if (ctx) { av_write_trailer(ctx); av_dict_free(&ctx->metadata); - av_free(ctx->streams[0]); - av_free(ctx); + av_freep(&ctx->streams[0]); + av_freep(&ctx); } h = c->rtp_handles[i]; if (h) @@ -940,7 +940,7 @@ static void close_connection(HTTPContext *c) } for(i=0; i<ctx->nb_streams; i++) - av_free(ctx->streams[i]); + av_freep(&ctx->streams[i]); av_freep(&ctx->streams); av_freep(&ctx->priv_data); @@ -955,7 +955,7 @@ static void close_connection(HTTPContext *c) av_freep(&c->pb_buffer); av_freep(&c->packet_buffer); - av_free(c->buffer); + av_freep(&c->buffer); av_free(c); nb_connections--; } @@ -2800,14 +2800,14 @@ static int http_receive_data(HTTPContext *c) s->pb = pb; if (avformat_open_input(&s, c->stream->feed_filename, fmt_in, NULL) < 0) { - av_free(pb); + av_freep(&pb); goto fail; } /* Now we have the actual streams */ if (s->nb_streams != feed->nb_streams) { avformat_close_input(&s); - av_free(pb); + av_freep(&pb); http_log("Feed '%s' stream number does not match registered feed\n", c->stream->feed_filename); goto fail; @@ -2820,7 +2820,7 @@ static int http_receive_data(HTTPContext *c) } avformat_close_input(&s); - av_free(pb); + av_freep(&pb); } c->buffer_ptr = c->buffer; } @@ -2999,7 +2999,7 @@ static int prepare_sdp_description(FFStream *stream, uint8_t **pbuffer, av_sdp_create(&avc, 1, *pbuffer, 2048); sdp_done: - av_free(avc->streams); + av_freep(&avc->streams); av_dict_free(&avc->metadata); av_free(avc); av_free(avs); @@ -3386,7 +3386,7 @@ static HTTPContext *rtp_new_connection(struct sockaddr_in *from_addr, fail: if (c) { - av_free(c->buffer); + av_freep(&c->buffer); av_free(c); } return NULL; |