X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Foggparsecelt.c;h=f7a88af6161404f61c6787919f4c704fbf868f91;hb=3a3e8c35b63a40c4d59161097dc8652c15d13779;hp=9c438a096ae3d82a2f5580646a54a99f313b28d4;hpb=2ac399d7faa5ac80088715780769522d1141b549;p=ffmpeg diff --git a/libavformat/oggparsecelt.c b/libavformat/oggparsecelt.c index 9c438a096ae..f7a88af6161 100644 --- a/libavformat/oggparsecelt.c +++ b/libavformat/oggparsecelt.c @@ -37,6 +37,7 @@ static int celt_header(AVFormatContext *s, int idx) AVStream *st = s->streams[idx]; struct oggcelt_private *priv = os->private; uint8_t *p = os->buf + os->pstart; + int ret; if (os->psize == 60 && !memcmp(p, ff_celt_codec.magic, ff_celt_codec.magicsize)) { @@ -48,9 +49,10 @@ static int celt_header(AVFormatContext *s, int idx) priv = av_malloc(sizeof(struct oggcelt_private)); if (!priv) return AVERROR(ENOMEM); - if (ff_alloc_extradata(st->codecpar, 2 * sizeof(uint32_t)) < 0) { + ret = ff_alloc_extradata(st->codecpar, 2 * sizeof(uint32_t)); + if (ret < 0) { av_free(priv); - return AVERROR(ENOMEM); + return ret; } version = AV_RL32(p + 28); /* unused header size field skipped */