tony2001                Sun Jan  9 12:57:51 2005 EDT

  Modified files:              (Branch: PHP_4_3)
    /php-src/ext/session        session.c 
  Log:
  MFH: fix bug #31454
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.336.2.47&r2=1.336.2.48&ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.336.2.47 
php-src/ext/session/session.c:1.336.2.48
--- php-src/ext/session/session.c:1.336.2.47    Thu Dec  9 12:16:57 2004
+++ php-src/ext/session/session.c       Sun Jan  9 12:57:50 2005
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: session.c,v 1.336.2.47 2004/12/09 17:16:57 tony2001 Exp $ */
+/* $Id: session.c,v 1.336.2.48 2005/01/09 17:57:50 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -1246,13 +1246,23 @@
        zval **args[6];
        int i;
        ps_user *mdata;
+       char *name;
 
        if (ZEND_NUM_ARGS() != 6 || zend_get_parameters_array_ex(6, args) == 
FAILURE)
                WRONG_PARAM_COUNT;
        
        if (PS(session_status) != php_session_none) 
                RETURN_FALSE;
-       
+
+       for (i = 0; i < 6; i++) {
+               if (!zend_is_callable(*args[i], 0, &name)) {
+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument 
%d is not a valid callback", i+1);
+                       efree(name);
+                       RETURN_FALSE;
+               }
+               efree(name);
+       }
+
        zend_alter_ini_entry("session.save_handler", 
sizeof("session.save_handler"), "user", sizeof("user")-1, PHP_INI_USER, 
PHP_INI_STAGE_RUNTIME);
 
        mdata = emalloc(sizeof(*mdata));

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

Reply via email to