(Merge from APPLIANCE_HEAD)
authorMartin Pool <mbp@samba.org>
Thu, 20 Feb 2003 03:35:11 +0000 (03:35 +0000)
committerMartin Pool <mbp@samba.org>
Thu, 20 Feb 2003 03:35:11 +0000 (03:35 +0000)
CR1829: Fix memory leak when unpacking 'B' buffers in Python.

(PyList_Append creates a new reference to the added object, and so we
have to release the existing one.)
(This used to be commit fa500c77e338337cafe5b46cadf9b104e920e823)

source3/python/py_tdbpack.c

index 6181a4918e6a7e6870bbd51e6f0370a7be01d75d..243cb4468333475733a05de97315994bb3cc9d16 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- c-file-style: "python"; indent-tabs-mode: nil; -*-
         
    Python wrapper for Samba tdb pack/unpack functions
-   Copyright (C) Martin Pool 2002
+   Copyright (C) Martin Pool 2002, 2003
 
 
    NOTE PYTHON STYLE GUIDE
@@ -638,6 +638,9 @@ pytdbunpack_buffer(char **pbuf, int *plen, PyObject *val_list)
        if (PyList_Append(val_list, str_obj) == -1)
                goto failed;
        
+       Py_DECREF(len_obj);
+       Py_DECREF(str_obj);
+       
        return val_list;
 
   failed: