if (!(flags & SCAN_SUPPRESS)) {
if (numVars) {
current = args[objIndex++];
- convert_to_string( *current );
+ zval_dtor( *current );
ZVAL_STRINGL( *current, string, end-string, 1);
} else {
add_index_stringl(*return_value, objIndex++, string, end-string, 1);
--- /dev/null
+--TEST--
+Bug #27295 (memory leak inside sscanf())
+--FILE--
+<?php
+$strings = array("foo = bar", "bar = foo");
+foreach( $strings as $string )
+{
+ sscanf( $string, "%s = %[^[]]", $var, $val );
+ echo "$var = $val\n";
+}
+?>
+--EXPECT--
+foo = bar
+bar = foo