X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fsiff.c;h=f6815b2f26988bf0d261e7f7d883bf88ca5965c3;hb=36e156bef02566d70cea46cc5e00b3e5d5ed3286;hp=ddd171568061c59e99a3354e87c62dbb42f28ca6;hpb=a2ae381b5a6f50669bcbd37001c110567a61f446;p=ffmpeg diff --git a/libavformat/siff.c b/libavformat/siff.c index ddd17156806..f6815b2f269 100644 --- a/libavformat/siff.c +++ b/libavformat/siff.c @@ -62,7 +62,7 @@ typedef struct SIFFContext { uint8_t gmc[4]; } SIFFContext; -static int siff_probe(AVProbeData *p) +static int siff_probe(const AVProbeData *p) { uint32_t tag = AV_RL32(p->buf + 8); /* check file header */ @@ -192,6 +192,7 @@ static int siff_read_header(AVFormatContext *s) static int siff_read_packet(AVFormatContext *s, AVPacket *pkt) { SIFFContext *c = s->priv_data; + int ret; if (c->has_video) { unsigned int size; @@ -213,13 +214,12 @@ static int siff_read_packet(AVFormatContext *s, AVPacket *pkt) size = c->pktsize - c->sndsize - c->gmcsize - 2; size = ffio_limit(s->pb, size); - if (av_new_packet(pkt, size + c->gmcsize + 2) < 0) - return AVERROR(ENOMEM); + if ((ret = av_new_packet(pkt, size + c->gmcsize + 2)) < 0) + return ret; AV_WL16(pkt->data, c->flags); if (c->gmcsize) memcpy(pkt->data + 2, c->gmc, c->gmcsize); if (avio_read(s->pb, pkt->data + 2 + c->gmcsize, size) != size) { - av_packet_unref(pkt); return AVERROR_INVALIDDATA; } pkt->stream_index = 0;