NULL-terminate PyMethodDef array
authorHanno Boeck <hanno@hboeck.de>
Sat, 27 Feb 2016 11:16:00 +0000 (11:16 +0000)
committerSebastian Dröge <sebastian@centricular.com>
Sat, 27 Feb 2016 11:52:07 +0000 (13:52 +0200)
PyMethodDef arrays are supposed to end with an entry full of NULL/0 values.
This is missing in gst-python in the file gstmodule.c.

This causes out of bounds memory reads which can be seen / tested by compiling
gst-python with address sanitizer (-fsanitize=address in CFLAGS/LDFLAGS).

https://bugzilla.gnome.org/show_bug.cgi?id=762766

gi/overrides/gstmodule.c

index e426165..79311a3 100644 (file)
@@ -368,7 +368,8 @@ static PyMethodDef _gi_gst_functions[] = {
   {"fixme", (PyCFunction) _wrap_gst_fixme, METH_VARARGS,
       NULL},
   {"memdump", (PyCFunction) _wrap_gst_memdump, METH_VARARGS,
-      NULL}
+      NULL},
+  {NULL, NULL, 0, NULL}
 };
 
 PYGLIB_MODULE_START (_gi_gst, "_gi_gst")