diff options
author | Vittorio Giovara <vittorio.giovara@gmail.com> | 2017-02-28 11:27:02 -0500 |
---|---|---|
committer | Vittorio Giovara <vittorio.giovara@gmail.com> | 2017-03-07 11:07:02 -0500 |
commit | 114324b9e04505c71d9a3ffd854f25062fa3678f (patch) | |
tree | 65ef34872c9c004353c1cbc3035af327561e532a | |
parent | 0f8512c4a87b89b4694053d8ffda48066ee1da62 (diff) |
mov: Validate cubemap layout
-rw-r--r-- | libavformat/mov.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index f406831457..2bd48079ec 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -3235,7 +3235,7 @@ static int mov_read_sv3d(MOVContext *c, AVIOContext *pb, MOVAtom atom) { AVStream *st; MOVStreamContext *sc; - int size, version; + int size, version, layout; int32_t yaw, pitch, roll; uint32_t tag; enum AVSphericalProjection projection; @@ -3315,6 +3315,12 @@ static int mov_read_sv3d(MOVContext *c, AVIOContext *pb, MOVAtom atom) avio_skip(pb, 3); /* flags */ switch (tag) { case MKTAG('c','b','m','p'): + layout = avio_rb32(pb); + if (layout) { + av_log(c->fc, AV_LOG_WARNING, + "Unsupported cubemap layout %d\n", layout); + return 0; + } projection = AV_SPHERICAL_CUBEMAP; break; case MKTAG('e','q','u','i'): |