summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Reiter <reiter.christoph@gmail.com>2019-04-19 18:48:20 +0200
committerChristoph Reiter <reiter.christoph@gmail.com>2019-04-19 20:18:42 +0200
commit7336790c8e8bc702555d87a5c7a4328af91bf744 (patch)
tree5235c6e898902a75f6fa317127e4801d7e9fa691
parentf4043503065d73bdf75839e83cfbcfd4b124b606 (diff)
downloadpygobject-7336790c8e8bc702555d87a5c7a4328af91bf744.tar.gz
pygi-array: fix leak of transfer-full/container C arrays. Fixes #322
We did not free the array passed to us after marshalling, only the helper garray. Patch by Tomasz Miąsko
-rw-r--r--gi/pygi-array.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gi/pygi-array.c b/gi/pygi-array.c
index 073e1436..890e7c57 100644
--- a/gi/pygi-array.c
+++ b/gi/pygi-array.c
@@ -766,7 +766,7 @@ _pygi_marshal_cleanup_to_py_array (PyGIInvokeState *state,
return;
free_array = TRUE;
- free_array_full = FALSE;
+ free_array_full = arg_cache->transfer != GI_TRANSFER_NOTHING;
} else if (array_cache->array_type == GI_ARRAY_TYPE_PTR_ARRAY) {
ptr_array_ = (GPtrArray *) data;
} else {