X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fflic.c;h=615d6b25c56bf394c45c2d781a61e0dd5bbcee2f;hb=34e3810b04cadf4ccb0d96b9d36a9daf45179c05;hp=7c62cb423c8a68250cd14ee5af1e2425bd8fc5a5;hpb=14fe81b3a88dfe4dbac12e8715f9a3f05b5ef1bf;p=ffmpeg diff --git a/libavformat/flic.c b/libavformat/flic.c index 7c62cb423c8..615d6b25c56 100644 --- a/libavformat/flic.c +++ b/libavformat/flic.c @@ -57,7 +57,7 @@ typedef struct FlicDemuxContext { int frame_number; } FlicDemuxContext; -static int flic_probe(AVProbeData *p) +static int flic_probe(const AVProbeData *p) { int magic_number; @@ -89,7 +89,7 @@ static int flic_read_header(AVFormatContext *s) AVIOContext *pb = s->pb; unsigned char header[FLIC_HEADER_SIZE]; AVStream *st, *ast; - int speed; + int speed, ret; int magic_number; unsigned char preamble[FLIC_PREAMBLE_SIZE]; @@ -125,8 +125,8 @@ static int flic_read_header(AVFormatContext *s) } /* send over the whole 128-byte FLIC header */ - if (ff_alloc_extradata(st->codecpar, FLIC_HEADER_SIZE)) - return AVERROR(ENOMEM); + if ((ret = ff_alloc_extradata(st->codecpar, FLIC_HEADER_SIZE)) < 0) + return ret; memcpy(st->codecpar->extradata, header, FLIC_HEADER_SIZE); /* peek at the preamble to detect TFTD videos - they seem to always start with an audio chunk */ @@ -175,9 +175,8 @@ static int flic_read_header(AVFormatContext *s) avio_seek(pb, 12, SEEK_SET); /* send over abbreviated FLIC header chunk */ - av_freep(&st->codecpar->extradata); - if (ff_alloc_extradata(st->codecpar, 12)) - return AVERROR(ENOMEM); + if ((ret = ff_alloc_extradata(st->codecpar, 12)) < 0) + return ret; memcpy(st->codecpar->extradata, header, 12); } else if (magic_number == FLIC_FILE_MAGIC_1) {