diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2011-10-11 10:14:06 +0200 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2011-10-11 15:06:50 +0200 |
commit | 30c3d976f12665d5d13971172aab062a97cb1bce (patch) | |
tree | 1a47e21848d01f2d51d1fa49f9b8769558d7e988 /libavformat | |
parent | 5a7ba58657bda249ac625456577651ab98a9d231 (diff) | |
download | ffmpeg-30c3d976f12665d5d13971172aab062a97cb1bce.tar.gz |
mov: do not misreport empty stts
Return -1 instead of ENOMEM if entries is 0.
Fixes a av_malloc(0) crash in macosx.
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/mov.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index 4f5bb0c59e..0e2ad1fe15 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1461,8 +1461,8 @@ static int mov_read_stts(MOVContext *c, AVIOContext *pb, MOVAtom atom) av_dlog(c->fc, "track[%i].stts.entries = %i\n", c->fc->nb_streams-1, entries); - if (entries >= UINT_MAX / sizeof(*sc->stts_data)) - return -1; + if (!entries || entries >= UINT_MAX / sizeof(*sc->stts_data)) + return AVERROR(EINVAL); sc->stts_data = av_malloc(entries * sizeof(*sc->stts_data)); if (!sc->stts_data) |