diff --git a/gst/gstcaps.c b/gst/gstcaps.c index bce958c652..a6d70381bf 100644 --- a/gst/gstcaps.c +++ b/gst/gstcaps.c @@ -349,6 +349,10 @@ gst_caps_destroy (GstCaps *caps) gst_props_unref (caps->properties); g_free (caps->name); +#ifdef USE_POISONING + memset(caps, 0xff, sizeof(*caps)); +#endif + #ifndef GST_DISABLE_TRACE gst_alloc_trace_free (_gst_caps_trace, caps); #endif diff --git a/gst/gstprobe.c b/gst/gstprobe.c index 217a1faf84..f00cc360d9 100644 --- a/gst/gstprobe.c +++ b/gst/gstprobe.c @@ -63,6 +63,10 @@ gst_probe_destroy (GstProbe *probe) { g_return_if_fail (probe); +#ifdef USE_POISONING + memset(probe, 0xff, sizeof(*probe)); +#endif + g_free (probe); } @@ -119,6 +123,10 @@ gst_probe_dispatcher_destroy (GstProbeDispatcher *disp) { g_return_if_fail (disp); +#ifdef USE_POISONING + memset(disp, 0xff, sizeof(*disp)); +#endif + /* FIXME, free pending probes */ g_free (disp); } diff --git a/gst/gstprops.c b/gst/gstprops.c index 879845b9c1..e8171961db 100644 --- a/gst/gstprops.c +++ b/gst/gstprops.c @@ -837,6 +837,9 @@ gst_props_entry_clean (GstPropsEntry *entry) static inline void gst_props_entry_free (GstPropsEntry *entry) { +#ifdef USE_POISONING + memset (entry, 0xff, sizeof(*entry)); +#endif gst_mem_chunk_free (_gst_props_entries_chunk, entry); #ifndef GST_DISABLE_TRACE gst_alloc_trace_free (_entries_trace, entry); @@ -1416,6 +1419,9 @@ gst_props_destroy (GstProps *props) g_list_foreach (props->properties, (GFunc) gst_props_entry_destroy, NULL); g_list_free (props->properties); +#ifdef USE_POISONING + memset(props, 0xff, sizeof(*props)); +#endif gst_mem_chunk_free (_gst_props_chunk, props); #ifndef GST_DISABLE_TRACE gst_alloc_trace_free (_props_trace, props);