andrey Wed Nov 30 06:35:03 2005 EDT Modified files: (Branch: PHP_5_1) /php-src/ext/mysqli mysqli_api.c Log: fix a crash and a leak. 4.1.15 (client) -> 5.x (server) because of the incompatibility because of decimal in the protocol binding may fail. Don't close the statement in that case because subsequent ->execute() will crash or any other function that will try to use already freed (and in debug mode thrashed) pointer. #probably more problems exist because of the 4.1.x -> 5.x protocol #incompatibility http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli_api.c?r1=1.118.2.6&r2=1.118.2.7&ty=u Index: php-src/ext/mysqli/mysqli_api.c diff -u php-src/ext/mysqli/mysqli_api.c:1.118.2.6 php-src/ext/mysqli/mysqli_api.c:1.118.2.7 --- php-src/ext/mysqli/mysqli_api.c:1.118.2.6 Tue Nov 8 08:50:50 2005 +++ php-src/ext/mysqli/mysqli_api.c Wed Nov 30 06:35:03 2005 @@ -15,7 +15,7 @@ | Author: Georg Richter <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ - $Id: mysqli_api.c,v 1.118.2.6 2005/11/08 13:50:50 andrey Exp $ + $Id: mysqli_api.c,v 1.118.2.7 2005/11/30 11:35:03 andrey Exp $ */ #ifdef HAVE_CONFIG_H @@ -354,7 +354,9 @@ if (rc) { efree(bind); efree(args); - php_clear_stmt_bind(stmt); + /* dont close the statement or subsequent usage (for example ->execute()) will lead to crash */ + efree(stmt->result.buf); + efree(stmt->result.is_null); RETURN_FALSE; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php