summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-12-01 14:30:49 +0200
committerSebastian Dröge <sebastian@centricular.com>2016-12-01 14:30:49 +0200
commitb79655d3c93ec2bd37d3dff40d909d6a65d41dbb (patch)
treedbb8aa106e0355218e810ef5b3213290899cca18
parentd46cc8df6c9eb8120a1d6c437ee3b24f531dbb01 (diff)
qtdemux: Ensure that size of the pasp atom is as much as we need
https://bugzilla.gnome.org/show_bug.cgi?id=775455
-rw-r--r--gst/isomp4/qtdemux.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c
index 0f9f6f49e..ce6ca2fe1 100644
--- a/gst/isomp4/qtdemux.c
+++ b/gst/isomp4/qtdemux.c
@@ -9762,9 +9762,15 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
if (pasp) {
const guint8 *pasp_data = (const guint8 *) pasp->data;
+ gint len = QT_UINT32 (pasp_data);
- stream->par_w = QT_UINT32 (pasp_data + 8);
- stream->par_h = QT_UINT32 (pasp_data + 12);
+ if (len == 16) {
+ stream->par_w = QT_UINT32 (pasp_data + 8);
+ stream->par_h = QT_UINT32 (pasp_data + 12);
+ } else {
+ stream->par_w = 0;
+ stream->par_h = 0;
+ }
} else {
stream->par_w = 0;
stream->par_h = 0;