diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c index bafd4a7d6f..e2224a581b 100644 --- a/gst/wavparse/gstwavparse.c +++ b/gst/wavparse/gstwavparse.c @@ -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.