mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'bugfix/mbedtls_dynamic_buffer_crash_on_ssl_server' into 'master'
fix(mbedtls): fix ssl server memory leak when enable mbedtls dynamic buffer Closes IDF-4836 See merge request espressif/esp-idf!17877
This commit is contained in:
commit
01855054ab
@ -416,7 +416,16 @@ int esp_mbedtls_free_rx_buffer(mbedtls_ssl_context *ssl)
|
||||
/**
|
||||
* The previous processing is just skipped, so "ssl->MBEDTLS_PRIVATE(in_msglen) = 0"
|
||||
*/
|
||||
if (!ssl->MBEDTLS_PRIVATE(in_msgtype)) {
|
||||
if (!ssl->MBEDTLS_PRIVATE(in_msgtype)
|
||||
#if defined(MBEDTLS_SSL_SRV_C)
|
||||
/**
|
||||
* The ssl server read ClientHello manually without mbedtls_ssl_read_record(), so in_msgtype is not set and is zero.
|
||||
* ClientHello has been processed and rx buffer should be freed.
|
||||
* After processing ClientHello, the ssl state has been changed to MBEDTLS_SSL_SERVER_HELLO.
|
||||
*/
|
||||
&& !(ssl->MBEDTLS_PRIVATE(conf)->MBEDTLS_PRIVATE(endpoint) == MBEDTLS_SSL_IS_SERVER && ssl->MBEDTLS_PRIVATE(state) == MBEDTLS_SSL_SERVER_HELLO)
|
||||
#endif
|
||||
) {
|
||||
goto exit;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user