Topic: resume session lookup failed -> memory corruption
Hey.
Found this today finally, seems like session resume corrupts memory when not found.
Context:
* latest github source
* macosx 10.7.4 (apple stock gcc 4.2) and SLES 11.1 (stock gcc 4.3.4)
* ./configure --prefix=/usr/local/cyassl --enable-hugecache --enable-fastmath --enable-debug
* start server
./examples/server/server -p 1105 -v 1
* execute command
echo -ne '160301006b010000670301506954bb10a154941e3c53b588a849080d9fb0886f94717ef2ae9c7c210b28482003d6b21d6d3428146bed287dba5e6e707dd5d88aff196f1cf5954633e4870cc0002000040005002f00330032000a00160013000900150012000300080014001100ff01001403010001011603010030ee9bca4c3dd96d96f718f79ead7ef7ac80057359b50cac8e48190e3afe09636dfe7a7f6f5d7c0ad72b4c9def13619612' | xxd -r -p | netcat localhost 1105 | xxd
here's debug log
<skipped all startup messages>
CyaSSL Entering SSL_set_fd
CyaSSL Leaving SSL_set_fd, return 1
CyaSSL Entering CyaSSL_SetTmpDH
CyaSSL Leaving CyaSSL_SetTmpDH, return 0
CyaSSL Entering SSL_accept()
growing input buffer
growing input buffer
received record layer msg
CyaSSL Entering DoHandShakeMsg()
CyaSSL Entering DoHandShakeMsgType
processing client hello
Client wants to resume session
Session lookup for resume failed
CyaSSL Entering MatchSuite
CyaSSL Entering VerifySuite
Requires RSA
Verified suite validity
CyaSSL Leaving DoHandShakeMsgType(), return 0
CyaSSL Leaving DoHandShakeMsg(), return 0
accept state ACCEPT_CLIENT_HELLO_DONE
accept state HELLO_VERIFY_SENT
accept state ACCEPT_FIRST_REPLY_DONE
growing output buffer
Shrinking output buffer
accept state SERVER_HELLO_SENT
growing output buffer
Shrinking output buffer
accept state CERT_SENT
accept state KEY_EXCHANGE_SENT
growing output buffer
Shrinking output buffer
accept state CERT_REQ_SENT
growing output buffer
Shrinking output buffer
accept state SERVER_HELLO_DONE
received record layer msg
got CHANGE CIPHER SPEC
Segmentation fault: 11
Help please