From 977d4a3b8a2dbc2fb5e747c7072485016c9cdfaa Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Tue, 15 Jan 2013 15:27:30 +0200 Subject: rtpdec_mpeg4: Check the return value from malloc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Storsjö --- libavformat/rtpdec_mpeg4.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libavformat/rtpdec_mpeg4.c') diff --git a/libavformat/rtpdec_mpeg4.c b/libavformat/rtpdec_mpeg4.c index 13d051ae85..3cac29f8a3 100644 --- a/libavformat/rtpdec_mpeg4.c +++ b/libavformat/rtpdec_mpeg4.c @@ -137,6 +137,8 @@ static int rtp_parse_mp4_au(PayloadContext *data, const uint8_t *buf) if (!data->au_headers || data->au_headers_allocated < data->nb_au_headers) { av_free(data->au_headers); data->au_headers = av_malloc(sizeof(struct AUHeaders) * data->nb_au_headers); + if (!data->au_headers) + return AVERROR(ENOMEM); data->au_headers_allocated = data->nb_au_headers; } @@ -162,6 +164,7 @@ static int aac_parse_packet(AVFormatContext *ctx, PayloadContext *data, const uint8_t *buf, int len, uint16_t seq, int flags) { + int ret; if (rtp_parse_mp4_au(data, buf)) return -1; @@ -170,7 +173,8 @@ static int aac_parse_packet(AVFormatContext *ctx, PayloadContext *data, /* XXX: Fixme we only handle the case where rtp_parse_mp4_au define one au_header */ - av_new_packet(pkt, data->au_headers[0].size); + if ((ret = av_new_packet(pkt, data->au_headers[0].size)) < 0) + return ret; memcpy(pkt->data, buf, data->au_headers[0].size); pkt->stream_index = st->index; -- cgit v1.2.3