Commit 0914f7da authored by Sebastian Dröge's avatar Sebastian Dröge 🍵

wavparse: Actually clip to upstream size instead of size of the data chunk

There might be other chunks after the data chunk, so clipping the chunk
size with the data size can lead to a negative number and all following
calculations go wrong and cause crashes or worse.

This was introduced in 3ac119bb.

https://bugzilla.gnome.org/show_bug.cgi?id=783760
parent fbef1717
......@@ -1285,9 +1285,10 @@ gst_wavparse_stream_headers (GstWavParse * wav)
}
/* Clip to upstream size if known */
if (wav->datasize > 0 && size + wav->offset > wav->datasize) {
if (upstream_size > 0 && size + wav->offset > upstream_size) {
GST_WARNING_OBJECT (wav, "Clipping chunk size to file size");
size = wav->datasize - wav->offset;
g_assert (upstream_size >= wav->offset);
size = upstream_size - wav->offset;
}
/* wav is a st00pid format, we don't know for sure where data starts.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment