8e07662 pysss: Fix double free

1 file Authored by lslebodn 9 years ago, Committed by jhrozek 9 years ago,
    pysss: Fix double free
    
    The talloc context is removed in destructor.
    
    ==1695== Invalid read of size 4
    ==1695==    at 0x1243D0CD: talloc_chunk_from_ptr (talloc.c:372)
    ==1695==    by 0x1243D0CD: _talloc_free (talloc.c:1559)
    ==1695==    by 0x117B18C3: PySssLocalObject_dealloc (pysss.c:836)
    ==1695==    by 0x117B1AEE: PySssLocalObject_new (pysss.c:898)
    ==1695==    by 0x4ED5522: type_call (typeobject.c:729)
    ==1695==    by 0x4E7F902: PyObject_Call (abstract.c:2529)
    ==1695==    by 0x4F15584: do_call (ceval.c:4328)
    ==1695==    by 0x4F15584: call_function (ceval.c:4133)
    ==1695==    by 0x4F15584: PyEval_EvalFrameEx (ceval.c:2753)
    ==1695==    by 0x4F16BE5: fast_function (ceval.c:4196)
    ==1695==    by 0x4F16BE5: call_function (ceval.c:4131)
    ==1695==    by 0x4F16BE5: PyEval_EvalFrameEx (ceval.c:2753)
    ==1695==    by 0x4F183FF: PyEval_EvalCodeEx (ceval.c:3342)
    ==1695==    by 0x4EA46BC: function_call (funcobject.c:526)
    ==1695==    by 0x4E7F902: PyObject_Call (abstract.c:2529)
    ==1695==    by 0x4F1504F: ext_do_call (ceval.c:4423)
    ==1695==    by 0x4F1504F: PyEval_EvalFrameEx (ceval.c:2792)
    ==1695==    by 0x4F183FF: PyEval_EvalCodeEx (ceval.c:3342)
    ==1695==  Address 0x112d4560 is 64 bytes inside a block of size 96 free'd
    ==1695==    at 0x4C2ACE9: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==1695==    by 0x1243D2F2: _talloc_free_internal (talloc.c:1057)
    ==1695==    by 0x1243D2F2: _talloc_free (talloc.c:1581)
    ==1695==    by 0x117B1ABF: PySssLocalObject_new (pysss.c:876)
    ==1695==    by 0x4ED5522: type_call (typeobject.c:729)
    ==1695==    by 0x4E7F902: PyObject_Call (abstract.c:2529)
    ==1695==    by 0x4F15584: do_call (ceval.c:4328)
    ==1695==    by 0x4F15584: call_function (ceval.c:4133)
    ==1695==    by 0x4F15584: PyEval_EvalFrameEx (ceval.c:2753)
    ==1695==    by 0x4F16BE5: fast_function (ceval.c:4196)
    ==1695==    by 0x4F16BE5: call_function (ceval.c:4131)
    ==1695==    by 0x4F16BE5: PyEval_EvalFrameEx (ceval.c:2753)
    ==1695==    by 0x4F183FF: PyEval_EvalCodeEx (ceval.c:3342)
    ==1695==    by 0x4EA46BC: function_call (funcobject.c:526)
    ==1695==    by 0x4E7F902: PyObject_Call (abstract.c:2529)
    ==1695==    by 0x4F1504F: ext_do_call (ceval.c:4423)
    ==1695==    by 0x4F1504F: PyEval_EvalFrameEx (ceval.c:2792)
    ==1695==    by 0x4F183FF: PyEval_EvalCodeEx (ceval.c:3342)
    
    Reviewed-by: Pavel Reichl <preichl@redhat.com>
    (cherry picked from commit 3cd7275c3c41a03eb65769c2bf4e472d1de7b8c0)
    
        
file modified
+0 -3