Should call Py_INCREF for Py_None (Modules/_ssl.c: PySSL_cipher)

This commit is contained in:
Hirokazu Yamamoto 2010-12-09 10:49:00 +00:00
parent e239d23e8c
commit 524f10359b
1 changed files with 4 additions and 2 deletions

View File

@ -928,10 +928,10 @@ static PyObject *PySSL_cipher (PySSLSocket *self) {
char *cipher_protocol; char *cipher_protocol;
if (self->ssl == NULL) if (self->ssl == NULL)
return Py_None; Py_RETURN_NONE;
current = SSL_get_current_cipher(self->ssl); current = SSL_get_current_cipher(self->ssl);
if (current == NULL) if (current == NULL)
return Py_None; Py_RETURN_NONE;
retval = PyTuple_New(3); retval = PyTuple_New(3);
if (retval == NULL) if (retval == NULL)
@ -939,6 +939,7 @@ static PyObject *PySSL_cipher (PySSLSocket *self) {
cipher_name = (char *) SSL_CIPHER_get_name(current); cipher_name = (char *) SSL_CIPHER_get_name(current);
if (cipher_name == NULL) { if (cipher_name == NULL) {
Py_INCREF(Py_None);
PyTuple_SET_ITEM(retval, 0, Py_None); PyTuple_SET_ITEM(retval, 0, Py_None);
} else { } else {
v = PyUnicode_FromString(cipher_name); v = PyUnicode_FromString(cipher_name);
@ -948,6 +949,7 @@ static PyObject *PySSL_cipher (PySSLSocket *self) {
} }
cipher_protocol = SSL_CIPHER_get_version(current); cipher_protocol = SSL_CIPHER_get_version(current);
if (cipher_protocol == NULL) { if (cipher_protocol == NULL) {
Py_INCREF(Py_None);
PyTuple_SET_ITEM(retval, 1, Py_None); PyTuple_SET_ITEM(retval, 1, Py_None);
} else { } else {
v = PyUnicode_FromString(cipher_protocol); v = PyUnicode_FromString(cipher_protocol);