mirror of
https://github.com/python/cpython.git
synced 2025-11-25 21:11:09 +00:00
gh-106831: Fix NULL check of d2i_SSL_SESSION() result in _ssl.c (#106832)
This commit is contained in:
parent
8e9a1a0322
commit
ebf2c56b33
2 changed files with 6 additions and 3 deletions
|
|
@ -0,0 +1,2 @@
|
|||
Fix potential missing ``NULL`` check of ``d2i_SSL_SESSION`` result in
|
||||
``_ssl.c``.
|
||||
|
|
@ -2808,7 +2808,7 @@ _ssl_session_dup(SSL_SESSION *session) {
|
|||
/* get length */
|
||||
slen = i2d_SSL_SESSION(session, NULL);
|
||||
if (slen == 0 || slen > 0xFF00) {
|
||||
PyErr_SetString(PyExc_ValueError, "i2d() failed.");
|
||||
PyErr_SetString(PyExc_ValueError, "i2d() failed");
|
||||
goto error;
|
||||
}
|
||||
if ((senc = PyMem_Malloc(slen)) == NULL) {
|
||||
|
|
@ -2817,12 +2817,13 @@ _ssl_session_dup(SSL_SESSION *session) {
|
|||
}
|
||||
p = senc;
|
||||
if (!i2d_SSL_SESSION(session, &p)) {
|
||||
PyErr_SetString(PyExc_ValueError, "i2d() failed.");
|
||||
PyErr_SetString(PyExc_ValueError, "i2d() failed");
|
||||
goto error;
|
||||
}
|
||||
const_p = senc;
|
||||
newsession = d2i_SSL_SESSION(NULL, &const_p, slen);
|
||||
if (session == NULL) {
|
||||
if (newsession == NULL) {
|
||||
PyErr_SetString(PyExc_ValueError, "d2i() failed");
|
||||
goto error;
|
||||
}
|
||||
PyMem_Free(senc);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue