[SATYR PATCH] do not double-free list elements in python bindings

Michal Toman mtoman at redhat.com
Fri Jul 12 13:42:45 UTC 2013


---
 python/py_base_stacktrace.c | 1 -
 python/py_base_thread.c     | 1 -
 python/py_gdb_stacktrace.c  | 2 --
 3 files changed, 4 deletions(-)

diff --git a/python/py_base_stacktrace.c b/python/py_base_stacktrace.c
index 5739e3c..d49ab09 100644
--- a/python/py_base_stacktrace.c
+++ b/python/py_base_stacktrace.c
@@ -215,7 +215,6 @@ threads_free_python_list(struct sr_py_multi_stacktrace *stacktrace)
         item = PyList_GetItem(stacktrace->threads, i);
         if (!item)
             return -1;
-        Py_DECREF(item);
     }
     Py_DECREF(stacktrace->threads);
 
diff --git a/python/py_base_thread.c b/python/py_base_thread.c
index 5bbbade..362755c 100644
--- a/python/py_base_thread.c
+++ b/python/py_base_thread.c
@@ -163,7 +163,6 @@ frames_free_python_list(struct sr_py_base_thread *thread)
         item = PyList_GetItem(thread->frames, i);
         if (!item)
             return -1;
-        Py_DECREF(item);
     }
     Py_DECREF(thread->frames);
 
diff --git a/python/py_gdb_stacktrace.c b/python/py_gdb_stacktrace.c
index bde65d2..61c68c7 100644
--- a/python/py_gdb_stacktrace.c
+++ b/python/py_gdb_stacktrace.c
@@ -204,7 +204,6 @@ stacktrace_free_thread_python_list(struct sr_py_gdb_stacktrace *stacktrace)
         item = PyList_GetItem(stacktrace->threads, i);
         if (!item)
             return -1;
-        Py_DECREF(item);
     }
     Py_DECREF(stacktrace->threads);
 
@@ -222,7 +221,6 @@ stacktrace_free_sharedlib_python_list(struct sr_py_gdb_stacktrace *stacktrace)
         item = PyList_GetItem(stacktrace->libs, i);
         if (!item)
             return -1;
-        Py_DECREF(item);
     }
     Py_DECREF(stacktrace->libs);
 
-- 
1.8.3.1



More information about the Crash-catcher mailing list