]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-105375: Harden error handling in `_testcapi/heaptype.c` (GH-105608) (#105615)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 9 Jun 2023 23:21:42 +0000 (16:21 -0700)
committerGitHub <noreply@github.com>
Fri, 9 Jun 2023 23:21:42 +0000 (23:21 +0000)
Bail on first error in heapctypesubclasswithfinalizer_finalize()
(cherry picked from commit d636d7dfe714e7168b342c7ea5f9f9d3b3569ed0)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Modules/_testcapi/heaptype.c

index 3488e35922c5ac982a3199b8ff772f7f90223cac..565ab570a42bde7fa7997d27177b5da75cf0ffc2 100644 (file)
@@ -661,8 +661,11 @@ heapctypesubclasswithfinalizer_finalize(PyObject *self)
         goto cleanup_finalize;
     }
     oldtype = PyObject_GetAttrString(m, "HeapCTypeSubclassWithFinalizer");
+    if (oldtype == NULL) {
+        goto cleanup_finalize;
+    }
     newtype = PyObject_GetAttrString(m, "HeapCTypeSubclass");
-    if (oldtype == NULL || newtype == NULL) {
+    if (newtype == NULL) {
         goto cleanup_finalize;
     }