overrides: fix memory leak in pyg_boxed_new
authorJose Quaresma <quaresma.jose@gmail.com>
Sun, 14 Jun 2020 15:34:50 +0000 (16:34 +0100)
committerJose Quaresma <quaresma.jose@gmail.com>
Fri, 10 Jul 2020 16:02:24 +0000 (17:02 +0100)
pyg_boxed_new cause a memory leak if it hold a copy of the boxed wrapper and freed when the wrapper is deallocated.
use the boxed wrapper value itself and don't hold a copy of the value.

gi/overrides/gstmodule.c

index ef2eb45..0fc7bfe 100644 (file)
@@ -736,7 +736,7 @@ _remap (GstMapInfo * mapinfo, PyObject * py_mapinfo)
       PyMemoryView_FromMemory ((char *) mapinfo->data, mapinfo->size, flags);
 
   /* Box GstMemory into a Gst.Memory */
-  py_memory = pyg_boxed_new (_gst_memory_type, mapinfo->memory, TRUE, TRUE);
+  py_memory = pyg_boxed_new (_gst_memory_type, mapinfo->memory, FALSE, FALSE);
   /* Fill out Gst.MapInfo with values corresponding to GstMapInfo */
   if (PyObject_SetAttrString (py_mapinfo, "memory", py_memory) == -1)
     return NULL;