]> granicus.if.org Git - python/commitdiff
bpo-30961: Fix decrementing a borrowed reference in tracemalloc. (#2747)
authorXiang Zhang <angwerzx@126.com>
Tue, 18 Jul 2017 16:33:29 +0000 (00:33 +0800)
committerGitHub <noreply@github.com>
Tue, 18 Jul 2017 16:33:29 +0000 (00:33 +0800)
Misc/NEWS.d/next/Library/2017-07-18-23-47-51.bpo-30961.064jz0.rst [new file with mode: 0644]
Modules/_tracemalloc.c

diff --git a/Misc/NEWS.d/next/Library/2017-07-18-23-47-51.bpo-30961.064jz0.rst b/Misc/NEWS.d/next/Library/2017-07-18-23-47-51.bpo-30961.064jz0.rst
new file mode 100644 (file)
index 0000000..b89c6d4
--- /dev/null
@@ -0,0 +1 @@
+Fix decrementing a borrowed reference in tracemalloc.
index 00d354240907dc35cdd77c0b9855679636a5e0a0..d9833362dd1dfdd9d4db83681317a522ae4071dd 100644 (file)
@@ -1752,7 +1752,7 @@ _PyTraceMalloc_Init(void)
         if (key == NULL)
             return -1;
 
-        value = PyDict_GetItemWithError(xoptions, key);
+        value = PyDict_GetItemWithError(xoptions, key); /* borrowed */
         Py_DECREF(key);
         if (value == NULL) {
             if (PyErr_Occurred())
@@ -1763,7 +1763,6 @@ _PyTraceMalloc_Init(void)
         }
 
         nframe = parse_sys_xoptions(value);
-        Py_DECREF(value);
         if (nframe < 0) {
             Py_FatalError("-X tracemalloc=NFRAME: invalid number of frames");
         }