From fe20ee421865cc8a7a98b2eaaa60fa288a0f527c Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Mon, 13 Sep 2004 19:38:42 +0000 Subject: gst/qtdemux/qtdemux.c: Don't touch non-existing data (fixes crash on file in #140147). Original commit message from CVS: * gst/qtdemux/qtdemux.c: (qtdemux_audio_caps): Don't touch non-existing data (fixes crash on file in #140147). --- ChangeLog | 5 +++++ gst/qtdemux/qtdemux.c | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index e803995d..c495c715 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-09-13 Ronald S. Bultje + + * gst/qtdemux/qtdemux.c: (qtdemux_audio_caps): + Don't touch non-existing data (fixes crash on file in #140147). + 2004-09-13 Ronald S. Bultje * gst/playback/gstplaybasebin.c: diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index 6b97ad29..e4a54f07 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -2525,10 +2525,12 @@ qtdemux_audio_caps (GstQTDemux * qtdemux, guint32 fourcc, const guint8 * data, "mpegversion", G_TYPE_INT, 4, NULL); case GST_MAKE_FOURCC ('Q', 'D', 'M', '2'): /* FIXME: QDesign music version 2 (no constant) */ - return gst_caps_new_simple ("audio/x-qdm2", - "framesize", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 52), - "bitrate", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 40), - "blocksize", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 44), NULL); + if (data) + return gst_caps_new_simple ("audio/x-qdm2", + "framesize", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 52), + "bitrate", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 40), + "blocksize", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 44), NULL); + return gst_caps_new_simple ("audio/x-qdm2", NULL); case GST_MAKE_FOURCC ('a', 'g', 's', 'm'): /* GSM */ return gst_caps_new_simple ("audio/x-gsm", NULL); -- cgit v1.2.1