mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-13 10:55:34 +00:00
riff-media: Don't recurse in for nested WAVEFORMATEX
There was already a check for that, but it failed because subformat_guid[0] is a guint32 and that is then casted implicitely to a guint16 when recursing... just that we checked the uncasted value. This caused an infinite recursion and thus stack overflow. https://bugzilla.gnome.org/show_bug.cgi?id=777265
This commit is contained in:
parent
54bf104274
commit
ef55c8a6b7
1 changed files with 2 additions and 1 deletions
|
@ -1715,7 +1715,8 @@ gst_riff_create_audio_caps (guint16 codec_id,
|
|||
caps = gst_caps_new_empty_simple ("audio/x-ac3");
|
||||
if (codec_name)
|
||||
*codec_name = g_strdup ("wavext AC-3 SPDIF audio");
|
||||
} else if (subformat_guid[0] == GST_RIFF_WAVE_FORMAT_EXTENSIBLE) {
|
||||
} else if ((subformat_guid[0] & 0xffff) ==
|
||||
GST_RIFF_WAVE_FORMAT_EXTENSIBLE) {
|
||||
GST_DEBUG ("WAVE_FORMAT_EXTENSIBLE nested");
|
||||
} else {
|
||||
/* recurse where no special consideration has yet to be identified
|
||||
|
|
Loading…
Reference in a new issue