From: Christian Heimes Date: Mon, 10 Jun 2013 08:47:22 +0000 (+0200) Subject: fixd refleak X-Git-Tag: v3.4.0a1~539 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=75b84266987737fe87c120e871bcd1f0261c9ae8;p=python fixd refleak --- diff --git a/Modules/_ssl.c b/Modules/_ssl.c index 5959f18ab0..aab288be28 100644 --- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -2775,6 +2775,7 @@ get_default_verify_paths(PyObject *self) PyObject *ofile = NULL; PyObject *odir_env = NULL; PyObject *odir = NULL; + PyObject *tup = NULL; #define convert(info, target) { \ const char *tmp = (info); \ @@ -2791,7 +2792,14 @@ get_default_verify_paths(PyObject *self) convert(X509_get_default_cert_dir(), odir); #undef convert - return Py_BuildValue("(OOOO)", ofile_env, ofile, odir_env, odir); + if ((tup = PyTuple_New(4)) == NULL) { + goto error; + } + PyTuple_SET_ITEM(tup, 0, ofile_env); + PyTuple_SET_ITEM(tup, 1, ofile); + PyTuple_SET_ITEM(tup, 2, odir_env); + PyTuple_SET_ITEM(tup, 3, odir); + return tup; error: Py_XDECREF(ofile_env);