Browse Source

Issue #18203: Replace malloc() with PyMem_Malloc() in _ssl for the password

pull/224/head
Victor Stinner 13 years ago
parent
commit
11ebff2757
  1. 8
      Modules/_ssl.c

8
Modules/_ssl.c

@ -2070,8 +2070,8 @@ _pwinfo_set(_PySSLPasswordInfo *pw_info, PyObject* password,
goto error; goto error;
} }
free(pw_info->password);
pw_info->password = malloc(size);
PyMem_Free(pw_info->password);
pw_info->password = PyMem_Malloc(size);
if (!pw_info->password) { if (!pw_info->password) {
PyErr_SetString(PyExc_MemoryError, PyErr_SetString(PyExc_MemoryError,
"unable to allocate password buffer"); "unable to allocate password buffer");
@ -2215,13 +2215,13 @@ load_cert_chain(PySSLContext *self, PyObject *args, PyObject *kwds)
} }
SSL_CTX_set_default_passwd_cb(self->ctx, orig_passwd_cb); SSL_CTX_set_default_passwd_cb(self->ctx, orig_passwd_cb);
SSL_CTX_set_default_passwd_cb_userdata(self->ctx, orig_passwd_userdata); SSL_CTX_set_default_passwd_cb_userdata(self->ctx, orig_passwd_userdata);
free(pw_info.password);
PyMem_Free(pw_info.password);
Py_RETURN_NONE; Py_RETURN_NONE;
error: error:
SSL_CTX_set_default_passwd_cb(self->ctx, orig_passwd_cb); SSL_CTX_set_default_passwd_cb(self->ctx, orig_passwd_cb);
SSL_CTX_set_default_passwd_cb_userdata(self->ctx, orig_passwd_userdata); SSL_CTX_set_default_passwd_cb_userdata(self->ctx, orig_passwd_userdata);
free(pw_info.password);
PyMem_Free(pw_info.password);
Py_XDECREF(keyfile_bytes); Py_XDECREF(keyfile_bytes);
Py_XDECREF(certfile_bytes); Py_XDECREF(certfile_bytes);
return NULL; return NULL;

Loading…
Cancel
Save