diff --git a/libavformat/rtpdec_mpeg4.c b/libavformat/rtpdec_mpeg4.c index a3f60d348d..737d993b07 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; diff --git a/libavformat/srtp.c b/libavformat/srtp.c index b3c428ba0f..7d344b816d 100644 --- a/libavformat/srtp.c +++ b/libavformat/srtp.c @@ -121,8 +121,8 @@ int ff_srtp_decrypt(struct SRTPContext *s, uint8_t *buf, int *lenptr) { uint8_t iv[16] = { 0 }, hmac[20]; int len = *lenptr; - int ext, seq_largest; - uint32_t ssrc, roc; + int ext, av_uninit(seq_largest); + uint32_t ssrc, av_uninit(roc); uint64_t index; int rtcp;