summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2003-08-19 04:10:29 +0000
committerDavid Schleef <ds@schleef.org>2003-08-19 04:10:29 +0000
commitdd7878f38cac1b6fe30d79b90449eb0fe45748ee (patch)
tree55e41397df2bbe16f23463fb5737f6d27e8cfb43
parenta937894b486df869716759e709dbc47b7e8bad85 (diff)
downloadgstreamer-dd7878f38cac1b6fe30d79b90449eb0fe45748ee.tar.gz
Add code to poison objects being destroyed
Original commit message from CVS: Add code to poison objects being destroyed
-rw-r--r--gst/gstcaps.c4
-rw-r--r--gst/gstprobe.c8
-rw-r--r--gst/gstprops.c6
3 files changed, 18 insertions, 0 deletions
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);