From ea4ab02446e5a0078f10cfdde351afe99a6e90f9 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sun, 14 Sep 2014 10:24:10 +0200 Subject: [PATCH] fix conditions substraction from an unsigned --- ext/mysqlnd/mysqlnd_wireprotocol.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c index a6e2517b2b..332b0b2163 100644 --- a/ext/mysqlnd/mysqlnd_wireprotocol.c +++ b/ext/mysqlnd/mysqlnd_wireprotocol.c @@ -524,7 +524,7 @@ size_t php_mysqlnd_auth_write(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC int1store(p, packet->auth_data_len); ++p; /*!!!!! is the buffer big enough ??? */ - if ((sizeof(buffer) - (p - buffer)) < packet->auth_data_len) { + if (sizeof(buffer) < (packet->auth_data_len + (p - buffer))) { DBG_ERR("the stack buffer was not enough!!"); DBG_RETURN(0); } @@ -596,7 +596,7 @@ size_t php_mysqlnd_auth_write(void * _packet, MYSQLND_CONN_DATA * conn TSRMLS_DC } ZEND_HASH_FOREACH_END(); } #endif - if ((sizeof(buffer) - (p - buffer)) >= (ca_payload_len + php_mysqlnd_net_store_length_size(ca_payload_len))) { + if (sizeof(buffer) >= (ca_payload_len + php_mysqlnd_net_store_length_size(ca_payload_len) + (p - buffer))) { p = php_mysqlnd_net_store_length(p, ca_payload_len); #ifdef OLD_CODE -- 2.40.0