From 82e6b94b9523beae3590d0c43eac15bf82a62c35 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Sat, 29 Jun 2013 21:37:34 +0200 Subject: [PATCH] Fix resource leak in pickle module CID 983309 (#1 of 1): Resource leak (RESOURCE_LEAK) leaked_storage: Variable unicode_str going out of scope leaks the storage it points to. --- Modules/_pickle.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Modules/_pickle.c b/Modules/_pickle.c index 443fbe2e8de..002b37825d0 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -1748,8 +1748,10 @@ save_bytes(PicklerObject *self, PyObject *obj) return -1; if (latin1 == NULL) { latin1 = PyUnicode_InternFromString("latin1"); - if (latin1 == NULL) + if (latin1 == NULL) { + Py_DECREF(unicode_str); return -1; + } } reduce_value = Py_BuildValue("(O(OO))", codecs_encode, unicode_str, latin1);