diff options
author | Christoph Reiter <reiter.christoph@gmail.com> | 2019-04-19 18:48:20 +0200 |
---|---|---|
committer | Christoph Reiter <reiter.christoph@gmail.com> | 2019-04-19 20:18:42 +0200 |
commit | 7336790c8e8bc702555d87a5c7a4328af91bf744 (patch) | |
tree | 5235c6e898902a75f6fa317127e4801d7e9fa691 | |
parent | f4043503065d73bdf75839e83cfbcfd4b124b606 (diff) | |
download | pygobject-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.c | 2 |
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 { |