gst/gstbuffer.c: Implement poisoning for GstBuffer if --enable-poisoning is specified.
authorSebastian Dröge <slomo@circular-chaos.org>
Thu, 13 Sep 2007 08:42:55 +0000 (08:42 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Thu, 13 Sep 2007 08:42:55 +0000 (08:42 +0000)
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_finalize):
Implement poisoning for GstBuffer if --enable-poisoning is specified.
When finalizing a buffer the complete struct is filled with 0xff,
thus making a use of the buffer after the final unref impossible.

ChangeLog
gst/gstbuffer.c

index 9b22d0c..84f8fe3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
 
+       * gst/gstbuffer.c: (gst_buffer_finalize):
+       Implement poisoning for GstBuffer if --enable-poisoning is specified.
+       When finalizing a buffer the complete struct is filled with 0xff,
+       thus making a use of the buffer after the final unref impossible.
+
+2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
+
        * tests/check/libs/controller.c: (GST_START_TEST):
        Use fail_unless_equals_int(a, b) instead of
        fail_unless_equals (a == b) to get better output on failures.
index c553ac1..e7db9ea 100644 (file)
@@ -192,6 +192,10 @@ gst_buffer_finalize (GstBuffer * buffer)
   g_free (buffer->malloc_data);
 
   gst_caps_replace (&GST_BUFFER_CAPS (buffer), NULL);
+
+#ifdef USE_POISONING
+  memset (buffer, 0xff, sizeof (GstBuffer));
+#endif
 }
 
 /**