summaryrefslogtreecommitdiff
path: root/Modules/_ssl.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2016-09-12 12:00:23 +0200
committerVictor Stinner <victor.stinner@gmail.com>2016-09-12 12:00:23 +0200
commit77a7af6e74595e3b80742b8bca3ff0b2d56737df (patch)
tree6bc01d51e79615478bf5dc13c2a1fa27ddfa4e39 /Modules/_ssl.c
parentacc4f29a688b1a80d01e07f7fdaecece45f1bf71 (diff)
downloadcpython-77a7af6e74595e3b80742b8bca3ff0b2d56737df.tar.gz
Issue #27866: Fix refleak in cipher_to_dict()
Diffstat (limited to 'Modules/_ssl.c')
-rw-r--r--Modules/_ssl.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index 736fc1d810..b32d1c1756 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -1587,12 +1587,6 @@ cipher_to_dict(const SSL_CIPHER *cipher)
int aead, nid;
const char *skcipher = NULL, *digest = NULL, *kx = NULL, *auth = NULL;
#endif
- PyObject *retval;
-
- retval = PyDict_New();
- if (retval == NULL) {
- goto error;
- }
/* can be NULL */
cipher_name = SSL_CIPHER_get_name(cipher);
@@ -1616,7 +1610,7 @@ cipher_to_dict(const SSL_CIPHER *cipher)
auth = nid != NID_undef ? OBJ_nid2ln(nid) : NULL;
#endif
- retval = Py_BuildValue(
+ return Py_BuildValue(
"{sksssssssisi"
#if OPENSSL_VERSION_1_1
"sOssssssss"
@@ -1636,11 +1630,6 @@ cipher_to_dict(const SSL_CIPHER *cipher)
"auth", auth
#endif
);
- return retval;
-
- error:
- Py_XDECREF(retval);
- return NULL;
}
#endif