[Python-checkins] bpo-34987: Fix a possible null pointer dereference in _pickle.c's save_reduce(). (GH-9886)

Miss Islington (bot) webhook-mailer at python.org
Wed Dec 5 14:35:51 EST 2018


https://github.com/python/cpython/commit/92d912c344e6c21de46da29f0dc45b7e476fa79d
commit: 92d912c344e6c21de46da29f0dc45b7e476fa79d
branch: 3.6
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2018-12-05T11:35:47-08:00
summary:

bpo-34987: Fix a possible null pointer dereference in _pickle.c's save_reduce(). (GH-9886)

(cherry picked from commit 25d389789c59a52a31770f7c50ce9e02a8909190)

Co-authored-by: Zackery Spytz <zspytz at gmail.com>

files:
M Modules/_pickle.c

diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index 389bb6701c5f..8c8163560f11 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -3743,7 +3743,10 @@ save_reduce(PicklerObject *self, PyObject *args, PyObject *obj)
 
         if (obj != NULL) {
             obj_class = get_class(obj);
-            p = obj_class != cls;    /* true iff a problem */
+            if (obj_class == NULL) {
+                return -1;
+            }
+            p = obj_class != cls;
             Py_DECREF(obj_class);
             if (p) {
                 PyErr_SetString(st->PicklingError, "args[0] from "



More information about the Python-checkins mailing list