]> granicus.if.org Git - php/commitdiff
Fix memory errors<
authorAndrey Hristov <andrey@php.net>
Thu, 14 Feb 2008 14:50:21 +0000 (14:50 +0000)
committerAndrey Hristov <andrey@php.net>
Thu, 14 Feb 2008 14:50:21 +0000 (14:50 +0000)
ext/mysqlnd/mysqlnd_ps.c
ext/mysqlnd/mysqlnd_wireprotocol.c

index 33b03a0a51cc865a28bb85561dee49c3388c95b4..94df285e665e9c2d66cb75dff97787919de701d8 100644 (file)
@@ -513,6 +513,8 @@ MYSQLND_METHOD(mysqlnd_stmt, execute)(MYSQLND_STMT * const stmt TSRMLS_DC)
        }
        stmt->execute_count++;
 
+       CONN_SET_STATE(conn, CONN_QUERY_SENT);
+
        ret = mysqlnd_query_read_result_set_header(stmt->conn, stmt TSRMLS_CC);
        if (ret == FAIL) {
                stmt->error_info = conn->error_info;
index 40c6d74442d1a89d456de8ecdfd427ecf5b0c9c1..c030d711f904a538672d9591e3e5f715ad577a03 100644 (file)
@@ -733,7 +733,7 @@ static
 void php_mysqlnd_auth_free_mem(void *_packet, zend_bool alloca TSRMLS_DC)
 {
        if (!alloca) {
-               mnd_efree((php_mysql_packet_auth *) _packet);
+               mnd_pefree((php_mysql_packet_auth *) _packet, ((php_mysql_packet_auth *)_packet)->header.persistent);
        }
 }
 /* }}} */
@@ -807,7 +807,7 @@ void php_mysqlnd_ok_free_mem(void *_packet, zend_bool alloca TSRMLS_DC)
                p->message = NULL;
        }
        if (!alloca) {
-               mnd_efree(p);
+               mnd_pefree(p, p->header.persistent);
        }
 }
 /* }}} */
@@ -877,7 +877,7 @@ static
 void php_mysqlnd_eof_free_mem(void *_packet, zend_bool alloca TSRMLS_DC)
 {
        if (!alloca) {
-               mnd_efree(_packet);
+               mnd_pefree(_packet, ((php_mysql_packet_eof *)_packet)->header.persistent);
        }
 }
 /* }}} */
@@ -949,7 +949,7 @@ static
 void php_mysqlnd_cmd_free_mem(void *_packet, zend_bool alloca TSRMLS_DC)
 {
        if (!alloca) {
-               mnd_efree((php_mysql_packet_command *) _packet);
+               mnd_pefree(_packet, ((php_mysql_packet_command *)_packet)->header.persistent);
        }
 }
 /* }}} */
@@ -1036,7 +1036,7 @@ void php_mysqlnd_rset_header_free_mem(void *_packet, zend_bool alloca TSRMLS_DC)
                p->info_or_local_file = NULL;
        }
        if (!alloca) {
-               mnd_efree(p);
+               mnd_pefree(p, p->header.persistent);
        }
 }
 /* }}} */
@@ -1227,7 +1227,7 @@ void php_mysqlnd_rset_field_free_mem(void *_packet, zend_bool alloca TSRMLS_DC)
 
        /* p->metadata was passed to us as temporal buffer */
        if (!alloca) {
-               mnd_efree(p);
+               mnd_pefree(p, p->header.persistent);
        }
 }
 /* }}} */