diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c index 760cc25b8c..86ea70f777 100644 --- a/libavformat/oggdec.c +++ b/libavformat/oggdec.c @@ -64,6 +64,8 @@ static int ogg_save(AVFormatContext *s) struct ogg_state *ost = av_malloc(sizeof(*ost) + (ogg->nstreams - 1) * sizeof(*ogg->streams)); int i; + if (!ost) + return AVERROR(ENOMEM); ost->pos = avio_tell(s->pb); ost->curidx = ogg->curidx; ost->next = ogg->state; @@ -192,6 +194,9 @@ static int ogg_new_buf(struct ogg *ogg, int idx) uint8_t *nb = av_malloc(os->bufsize + FF_INPUT_BUFFER_PADDING_SIZE); int size = os->bufpos - os->pstart; + if (!nb) + return AVERROR(ENOMEM); + if (os->buf) { memcpy(nb, os->buf + os->pstart, size); av_free(os->buf);