You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-12 13:20:55 +00:00
Small hack to avoid runtime error when using ubsan
mbedtls_ssl_read cannot be called with a NULL buffer even if len is 0, as those are passed to memcpy and compilers doesn't like that. Always pass a single byte (still len 0 so nothing is actually copied)
This commit is contained in:
@@ -270,7 +270,10 @@ void StreamPeerMbedTLS::poll() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ret = mbedtls_ssl_read(&ssl, NULL, 0);
|
// We could pass NULL as second parameter, but some behaviour sanitizers doesn't seem to like that.
|
||||||
|
// Passing a 1 byte buffer to workaround it.
|
||||||
|
uint8_t byte;
|
||||||
|
int ret = mbedtls_ssl_read(&ssl, &byte, 0);
|
||||||
|
|
||||||
if (ret == MBEDTLS_ERR_SSL_WANT_READ || ret == MBEDTLS_ERR_SSL_WANT_WRITE) {
|
if (ret == MBEDTLS_ERR_SSL_WANT_READ || ret == MBEDTLS_ERR_SSL_WANT_WRITE) {
|
||||||
// Nothing to read/write (non blocking IO)
|
// Nothing to read/write (non blocking IO)
|
||||||
|
|||||||
Reference in New Issue
Block a user