File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2795,6 +2795,10 @@ WOLFSSL_SESSION* wolfSSL_d2i_SSL_SESSION(WOLFSSL_SESSION** sess,
27952795 ato32 (data + idx , & s -> bornOn ); idx += OPAQUE32_LEN ;
27962796 ato32 (data + idx , & s -> timeout ); idx += OPAQUE32_LEN ;
27972797 s -> sessionIDSz = data [idx ++ ];
2798+ if (s -> sessionIDSz > ID_LEN ) {
2799+ ret = BUFFER_ERROR ;
2800+ goto end ;
2801+ }
27982802
27992803 /* sessionID | secret | haveEMS | haveAltSessionID */
28002804 if (i - idx < s -> sessionIDSz + SECRET_LEN + OPAQUE8_LEN + OPAQUE8_LEN ) {
@@ -2877,6 +2881,10 @@ WOLFSSL_SESSION* wolfSSL_d2i_SSL_SESSION(WOLFSSL_SESSION** sess,
28772881 goto end ;
28782882 }
28792883 ato16 (data + idx , & s -> idLen ); idx += OPAQUE16_LEN ;
2884+ if (s -> idLen > SERVER_ID_LEN ) {
2885+ ret = BUFFER_ERROR ;
2886+ goto end ;
2887+ }
28802888
28812889 /* ServerID */
28822890 if (i - idx < s -> idLen ) {
@@ -2892,6 +2900,10 @@ WOLFSSL_SESSION* wolfSSL_d2i_SSL_SESSION(WOLFSSL_SESSION** sess,
28922900 goto end ;
28932901 }
28942902 s -> sessionCtxSz = data [idx ++ ];
2903+ if (s -> sessionCtxSz > ID_LEN ) {
2904+ ret = BUFFER_ERROR ;
2905+ goto end ;
2906+ }
28952907
28962908 /* app session context ID */
28972909 if (i - idx < s -> sessionCtxSz ) {
You can’t perform that action at this time.
0 commit comments