johannes                Mon Jan 12 14:01:47 2009 UTC

  Added files:                 
    /php-src/ext/mysqli/tests   bug47050.phpt 

  Modified files:              
    /php-src/ext/mysqli mysqli_fe.c 
  Log:
  Fix #47050 mysqli_poll() modifies improper variables
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli_fe.c?r1=1.68&r2=1.69&diff_format=u
Index: php-src/ext/mysqli/mysqli_fe.c
diff -u php-src/ext/mysqli/mysqli_fe.c:1.68 php-src/ext/mysqli/mysqli_fe.c:1.69
--- php-src/ext/mysqli/mysqli_fe.c:1.68 Wed Dec 31 11:12:33 2008
+++ php-src/ext/mysqli/mysqli_fe.c      Mon Jan 12 14:01:47 2009
@@ -17,7 +17,7 @@
   |          Ulf Wendel <u...@php.net>                                     |
   +----------------------------------------------------------------------+
 
-  $Id: mysqli_fe.c,v 1.68 2008/12/31 11:12:33 sebastian Exp $ 
+  $Id: mysqli_fe.c,v 1.69 2009/01/12 14:01:47 johannes Exp $ 
 */
 
 #ifdef HAVE_CONFIG_H
@@ -44,6 +44,13 @@
 ZEND_BEGIN_ARG_INFO(all_args_force_by_ref, 1)
 ZEND_END_ARG_INFO();
 
+ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_poll, 0, 0, 4)
+       ZEND_ARG_ARRAY_INFO(1, read, 1)
+       ZEND_ARG_ARRAY_INFO(1, write, 1)
+       ZEND_ARG_ARRAY_INFO(1, error, 1)
+       ZEND_ARG_INFO(0, sec)
+       ZEND_ARG_INFO(0, usec)
+ZEND_END_ARG_INFO();
 
 /* {{{ mysqli_functions[]
  *
@@ -116,7 +123,7 @@
        PHP_FE(mysqli_options,                                                  
        NULL)
        PHP_FE(mysqli_ping,                                                     
                NULL)
 #if defined(MYSQLI_USE_MYSQLND)
-       PHP_FE(mysqli_poll,                                                     
                NULL)
+       PHP_FE(mysqli_poll,                                                     
                arginfo_mysqli_poll)
 #endif
        PHP_FE(mysqli_prepare,                                                  
        NULL)
        PHP_FE(mysqli_report,                                                   
        NULL)

http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/bug47050.phpt?view=markup&rev=1.1
Index: php-src/ext/mysqli/tests/bug47050.phpt
+++ php-src/ext/mysqli/tests/bug47050.phpt
--TEST--
Bug #47050 (mysqli_poll() modifies improper variables)
--SKIPIF--
<?php
require_once('skipif.inc');
require_once('skipifconnectfailure.inc');
?>
--FILE--
<?php
        include ("connect.inc");

        $link1 = mysqli_connect($host, $user, $passwd, null, $port, $socket);
        mysqli_select_db($link1, $db);

        $link1->query("SELECT 'test'", MYSQLI_ASYNC);
        $all_links = array($link1);
        $links = $errors = $reject = $all_links;
        mysqli_poll($links, $errors, $reject, 1);

        echo "links: ",     sizeof($links), "\n";
        echo "errors: ",    sizeof($errors), "\n";
        echo "reject: ",    sizeof($reject), "\n";
        echo "all_links: ", sizeof($all_links), "\n";

        $link1->close();
?>
--EXPECT--
links: 1
errors: 0
reject: 0
all_links: 1



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to