From 392f0abf687c7519ba02d7d41b9622f0b3d1a8e2 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 16 Sep 2020 10:28:28 +0200 Subject: [PATCH] Avoid ubsan warning due to memcpy null This showed up in ext/mysqli/tests/mysqli_change_user.phpt on azure today. Not seeing it locally though, and also not sure why it decided to show up now... --- ext/mysqlnd/mysqlnd_wireprotocol.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c index ab7fc61f94..515526d11d 100644 --- a/ext/mysqlnd/mysqlnd_wireprotocol.c +++ b/ext/mysqlnd/mysqlnd_wireprotocol.c @@ -2144,7 +2144,9 @@ size_t php_mysqlnd_cached_sha2_result_write(MYSQLND_CONN_DATA * conn, void * _pa int1store(buffer + MYSQLND_HEADER_SIZE, '\2'); sent = pfc->data->m.send(pfc, vio, buffer, 1, stats, error_info); } else { - memcpy(buffer + MYSQLND_HEADER_SIZE, packet->password, packet->password_len); + if (packet->password_len != 0) { + memcpy(buffer + MYSQLND_HEADER_SIZE, packet->password, packet->password_len); + } sent = pfc->data->m.send(pfc, vio, buffer, packet->password_len, stats, error_info); } -- 2.40.0