X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fsapdec.c;h=eec73aa2f4593399b83483fa305c5f30917602e4;hb=c81b8e04aa0952a7aec1e08940f29ae501fb6bfd;hp=eddeddeaeae8825b9ed1a1b5fe557189e0ac2bc8;hpb=3e076faf3b86bb16f746e7c9b0cf3dac5f9a851a;p=ffmpeg diff --git a/libavformat/sapdec.c b/libavformat/sapdec.c index eddeddeaeae..eec73aa2f45 100644 --- a/libavformat/sapdec.c +++ b/libavformat/sapdec.c @@ -54,8 +54,7 @@ static int sap_read_close(AVFormatContext *s) struct SAPState *sap = s->priv_data; if (sap->sdp_ctx) avformat_close_input(&sap->sdp_ctx); - if (sap->ann_fd) - ffurl_close(sap->ann_fd); + ffurl_closep(&sap->ann_fd); av_freep(&sap->sdp); ff_network_close(); return 0; @@ -142,6 +141,10 @@ static int sap_read_header(AVFormatContext *s) } sap->sdp = av_strdup(&recvbuf[pos]); + if (!sap->sdp) { + ret = AVERROR(ENOMEM); + goto fail; + } break; } @@ -221,7 +224,6 @@ static int sap_fetch_packet(AVFormatContext *s, AVPacket *pkt) int i = s->nb_streams; AVStream *st = avformat_new_stream(s, NULL); if (!st) { - av_packet_unref(pkt); return AVERROR(ENOMEM); } st->id = i;