mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
[3.12] gh-106831: Fix NULL check of d2i_SSL_SESSION() result in _ssl.c (GH-106832) (#106835)
gh-106831: Fix NULL check of d2i_SSL_SESSION() result in _ssl.c (GH-106832)
(cherry picked from commit ebf2c56b33
)
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
This commit is contained in:
parent
497bfd5047
commit
2eef81e05e
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``.
|
|
@ -2779,7 +2779,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) {
|
||||
|
@ -2788,12 +2788,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