GNOME Bugzilla – Bug 791833
waveparse: Assert and execute an integer overflow on invalid duration
Last modified: 2018-11-03 15:24:55 UTC
+++ This bug was initially created as a clone of Bug #791811 +++ A bug in festival element lead to this assertion: ERROR:gstwavparse.c:1310:gst_wavparse_stream_headers: assertion failed: (upstream_size >= wav->offset) I think it's a bit silly to assert and compute the integer overflow. We should warn and ignore the duration query value instead.
upstream_size comes from a duration query, wav->offset is the position from where we pulled just before in pull mode, and the byte counter from the adapter otherwise. While I agree that this should not assert, it seems like something else is off too here. Either we failed counting bytes, upstream allows to pull from after the duration, or upstream reports completely bogus duration, or the state variables in wavparse became inconsistent.
See 791811, the bug I have cloned this from. It explains everything about why the duration query is bogus and why this will happen again. I'm filling this to fix the integer overflow because it's not predictable. Marking as minor to reflect this.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/427.