Skip to content

Commit a782d51

Browse files
[3.11] gh-106831: Fix NULL check of d2i_SSL_SESSION() result in _ssl.c (GH-106832) (#106836)
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 <[email protected]>
1 parent 263d8aa commit a782d51

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
@@ -2800,7 +2800,7 @@ _ssl_session_dup(SSL_SESSION *session) {
28002800
/* get length */
28012801
slen = i2d_SSL_SESSION(session, NULL);
28022802
if (slen == 0 || slen > 0xFF00) {
2803-
PyErr_SetString(PyExc_ValueError, "i2d() failed.");
2803+
PyErr_SetString(PyExc_ValueError, "i2d() failed");
28042804
goto error;
28052805
}
28062806
if ((senc = PyMem_Malloc(slen)) == NULL) {
@@ -2809,12 +2809,13 @@ _ssl_session_dup(SSL_SESSION *session) {
28092809
}
28102810
p = senc;
28112811
if (!i2d_SSL_SESSION(session, &p)) {
2812-
PyErr_SetString(PyExc_ValueError, "i2d() failed.");
2812+
PyErr_SetString(PyExc_ValueError, "i2d() failed");
28132813
goto error;
28142814
}
28152815
const_p = senc;
28162816
newsession = d2i_SSL_SESSION(NULL, &const_p, slen);
2817-
if (session == NULL) {
2817+
if (newsession == NULL) {
2818+
PyErr_SetString(PyExc_ValueError, "d2i() failed");
28182819
goto error;
28192820
}
28202821
PyMem_Free(senc);

0 commit comments

Comments
 (0)