X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=blobdiff_plain;f=libavformat%2Frtpenc.c;h=e16e6108206ef877eea7406cae7b9631288e1e18;hp=57d025a3644d97ac1ba9f8234b4cba8d9c561095;hb=82edf6727f0663601351081ca1e4fb20d1752972;hpb=f87dacb27de93f995cb18f9dcc73581ef8fc157b diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c index 57d025a364..e16e610820 100644 --- a/libavformat/rtpenc.c +++ b/libavformat/rtpenc.c @@ -198,11 +198,11 @@ static int rtp_write_header(AVFormatContext *s1) /* max_header_toc_size + the largest AMR payload must fit */ if (1 + s->max_frames_per_packet + n > s->max_payload_size) { av_log(s1, AV_LOG_ERROR, "RTP max payload size too small for AMR\n"); - return -1; + goto fail; } if (st->codec->channels != 1) { av_log(s1, AV_LOG_ERROR, "Only mono is supported\n"); - return -1; + goto fail; } case CODEC_ID_AAC: s->num_frames = 0; @@ -216,6 +216,10 @@ defaultcase: } return 0; + +fail: + av_freep(&s->buf); + return AVERROR(EINVAL); } /* send an rtcp sender report packet */