GNOME Bugzilla – Bug 557649
GstBaseTransform can cause ivalid memory references
Last modified: 2008-10-24 09:45:23 UTC
When the following conditions are met: * (part) of the pipeline is in pull mode * there are at least two elements based on GstBaseTransform there * at least the first of those elements is in pass-through mode gst_base_transform_handle_buffer will eventually try to unref an unallocated buffer. This is a regression since 0.10.18. Examples attached.
Created attachment 121214 [details] Reproduction recipes
Created attachment 121215 [details] [review] Workaround? This simple patch makes all my real test cases work again. But I've no idea how this could've worked in 0.10.18 without a similar change.
The problem was indeed an uninitialized variable in the prepare_output_buffer function. Your patch however initialized the wrong variable which accidentally made it work. * libs/gst/base/gstbasetransform.c: (gst_base_transform_prepare_output_buffer), (gst_base_transform_getrange): Clear the output buffer variable. Cleanups to the error path in the getrange function. Fixes #557649.