• Martin Pitt's avatar
    Fix leak of caller-allocated boxed values · 105e6738
    Martin Pitt authored
    Add a new "allocated_slice" argument to _pygi_boxed_new() which specifies
    whether its "boxed" pointer was allocated using a slice (by giving its size) or
    malloc (by specifying 0), as _pygi_boxed_new cannot determine that itself any
    more.
    
    Use this in _pygi_marshal_to_py_interface_struct() for caller-allocated boxed
    values, as _caller_alloc() uses _pygi_boxed_alloc() for those (i. e. slices),
    which would otherwise leak.
    
    Thanks to Mike Gorse <mgorse@suse.com> for the original patch!
    
    https://bugzilla.gnome.org/show_bug.cgi?id=691501
    105e6738
pygi-marshal-to-py.c 29.4 KB