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

Reply via email to