summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2017-02-28 11:27:02 -0500
committerVittorio Giovara <vittorio.giovara@gmail.com>2017-03-07 11:07:02 -0500
commit114324b9e04505c71d9a3ffd854f25062fa3678f (patch)
tree65ef34872c9c004353c1cbc3035af327561e532a
parent0f8512c4a87b89b4694053d8ffda48066ee1da62 (diff)
mov: Validate cubemap layout
-rw-r--r--libavformat/mov.c8
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'):