tony2001                Mon Jan 19 09:52:14 2009 UTC

  Modified files:              
    /php-src/ext/standard       scanf.c 
  Log:
  fix memleaks in sscanf()
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/scanf.c?r1=1.43&r2=1.44&diff_format=u
Index: php-src/ext/standard/scanf.c
diff -u php-src/ext/standard/scanf.c:1.43 php-src/ext/standard/scanf.c:1.44
--- php-src/ext/standard/scanf.c:1.43   Wed Dec 31 11:12:37 2008
+++ php-src/ext/standard/scanf.c        Mon Jan 19 09:52:14 2009
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: scanf.c,v 1.43 2008/12/31 11:12:37 sebastian Exp $ */
+/* $Id: scanf.c,v 1.44 2009/01/19 09:52:14 tony2001 Exp $ */
 
 /*
        scanf.c --
@@ -1390,7 +1390,7 @@
                                                __buf[0] = sch;
                                                __buf[1] = '\0';;
                                                current = args[objIndex++];
-                                               convert_to_string_ex( current );
+                                               zval_dtor(*current);
                                                ZVAL_STRINGL( *current, __buf, 
1, 1);
                                        } else {
                                                
add_index_stringl(*return_value, objIndex++, &sch, 1, 1);
@@ -1522,9 +1522,9 @@
                                                        break;
                                                } else if (numVars) {
                                                  /* change passed value type 
to string */
-                                                  current = args[objIndex++];
-                                                  convert_to_string( *current 
);
-                                                  ZVAL_STRING( *current, buf, 
1 );
+                                                       current = 
args[objIndex++];
+                                                       zval_dtor(*current);
+                                                       ZVAL_STRING( *current, 
buf, 1 );
                                                } else {
                                                        
add_index_string(*return_value, objIndex++, buf, 1);
                                                }
@@ -1533,7 +1533,7 @@
                                                        break;
                                                } else if (numVars) {
                                                        current = 
args[objIndex++];
-                                                       convert_to_long( 
*current );
+                                                       zval_dtor(*current);
                                                        Z_LVAL(**current) = 
value;
                                                } else {
                                                        
add_index_long(*return_value, objIndex++, value);
@@ -1638,7 +1638,7 @@
                                                break;
                                        } else if (numVars) {
                                                current = args[objIndex++];
-                                               convert_to_double( *current );
+                                               zval_dtor(*current);
                                                Z_DVAL_PP( current ) = dvalue;
                                        } else {
                                                add_index_double( 
*return_value, objIndex++, dvalue );
@@ -2036,7 +2036,7 @@
                                                __buf[0] = sch;
                                                __buf[1] = '\0';;
                                                current = args[objIndex++];
-                                               convert_to_string_ex( current );
+                                               zval_dtor(*current);
                                                ZVAL_STRINGL( *current, __buf, 
1, 1);
                                        } else {
                                                
add_index_stringl(*return_value, objIndex++, &sch, 1, 1);
@@ -2168,9 +2168,9 @@
                                                        break;
                                                } else if (numVars) {
                                                  /* change passed value type 
to string */
-                                                  current = args[objIndex++];
-                                                  convert_to_unicode( *current 
);
-                                                  ZVAL_UNICODE( *current, buf, 
1 );
+                                                       current = 
args[objIndex++];
+                                                       zval_dtor(*current);
+                                                       ZVAL_UNICODE( *current, 
buf, 1 );
                                                } else {
                                                        
add_index_unicode(*return_value, objIndex++, buf, 1);
                                                }
@@ -2179,7 +2179,7 @@
                                                        break;
                                                } else if (numVars) {
                                                        current = 
args[objIndex++];
-                                                       convert_to_long( 
*current );
+                                                       zval_dtor(*current);
                                                        Z_LVAL(**current) = 
value;
                                                } else {
                                                        
add_index_long(*return_value, objIndex++, value);
@@ -2284,7 +2284,7 @@
                                                break;
                                        } else if (numVars) {
                                                current = args[objIndex++];
-                                               convert_to_double( *current );
+                                               zval_dtor(*current);
                                                Z_DVAL_PP( current ) = dvalue;
                                        } else {
                                                add_index_double( 
*return_value, objIndex++, dvalue );



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

Reply via email to