]> granicus.if.org Git - php/commitdiff
fix conditions
authorAnatol Belski <ab@php.net>
Sun, 14 Sep 2014 08:24:10 +0000 (10:24 +0200)
committerAnatol Belski <ab@php.net>
Sun, 14 Sep 2014 08:24:10 +0000 (10:24 +0200)
substraction from an unsigned

ext/mysqlnd/mysqlnd_wireprotocol.c

index a6e2517b2bcd8fa38cb7d6e1127199fb07e108df..332b0b2163ee27053f83d8315e7820e1a7e3983f 100644 (file)
@@ -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