]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-38823: Fix refleak in marshal init error path (GH-17260)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 20 Nov 2019 10:16:02 +0000 (02:16 -0800)
committerGitHub <noreply@github.com>
Wed, 20 Nov 2019 10:16:02 +0000 (02:16 -0800)
(cherry picked from commit 33b671e72450bf4b5a946ce0dde6b7fe21150108)

Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
Python/marshal.c

index b2daff2c8a3bef06a01e9a9ba07bc1fef2459c33..c6a06e8c239764a8688ac107d3474be61a591fd1 100644 (file)
@@ -1829,6 +1829,9 @@ PyMarshal_Init(void)
     PyObject *mod = PyModule_Create(&marshalmodule);
     if (mod == NULL)
         return NULL;
-    PyModule_AddIntConstant(mod, "version", Py_MARSHAL_VERSION);
+    if (PyModule_AddIntConstant(mod, "version", Py_MARSHAL_VERSION) < 0) {
+        Py_DECREF(mod);
+        return NULL;
+    }
     return mod;
 }