8000 [3.12] gh-106831: Fix NULL check of d2i_SSL_SESSION() result in _ssl.… · python/cpython@2eef81e · GitHub
[go: up one dir, main page]

Skip to content

Commit 2eef81e

Browse files
[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 ebf2c56) Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
1 parent 497bfd5 commit 2eef81e

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Fix potential missing ``NULL`` check of ``d2i_SSL_SESSION`` result in
2+
``_ssl.c``.

Modules/_ssl.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2779,7 +2779,7 @@ _ssl_session_dup(SSL_SESSION *session) {
27792779
/* get length */
27802780
slen = i2d_SSL_SESSION(session, NULL);
27812781
if (slen == 0 || slen > 0xFF00) {
2782-
PyErr_SetString(PyExc_ValueError, "i2d() failed.");
2782+
PyErr_SetString(PyExc_ValueError, "i2d() failed");
27832783
goto error;
27842784
}
27852785
if ((senc = PyMem_Malloc(slen)) == NULL) {
@@ -2788,12 +2788,13 @@ _ssl_session_dup(SSL_SESSION *session) {
27882788
}
27892789
p = senc;
27902790
if (!i2d_SSL_SESSION(session, &p)) {
2791-
PyErr_SetString(PyExc_ValueError, "i2d() failed.");
2791+
PyErr_SetString(PyExc_ValueError, "i2d() failed");
27922792
goto error;
27932793
}
27942794
const_p = senc;
27952795
newsession = d2i_SSL_SESSION(NULL, &const_p, slen);
2796-
if (session == NULL) {
2796+
if (newsession == NULL) {
2797+
PyErr_SetString(PyExc_ValueError, "d2i() failed");
27972798
goto error;
27982799
}
27992800
PyMem_Free(senc);

0 commit comments

Comments
 (0)
0