]> granicus.if.org Git - php/commitdiff
Revert "Add optional second arg to unserialize()"
authorFerenc Kovacs <tyrael@php.net>
Wed, 11 Jun 2014 12:43:09 +0000 (14:43 +0200)
committerFerenc Kovacs <tyrael@php.net>
Wed, 11 Jun 2014 12:43:09 +0000 (14:43 +0200)
This reverts commit cfd104582220d578ab1b78a5991065d038e1f931.

ext/standard/basic_functions.c
ext/standard/tests/serialize/serialization_error_001.phpt
ext/standard/tests/serialize/unserialize_consumed.phpt [deleted file]
ext/standard/var.c

index 3baa9f43b0381e1a452d2a86cb724032d67a78d4..69e20fdd9ae9f4b882aa77f28b127acc9917cc86 100644 (file)
@@ -2648,7 +2648,6 @@ ZEND_END_ARG_INFO()
 
 ZEND_BEGIN_ARG_INFO_EX(arginfo_unserialize, 0, 0, 1)
        ZEND_ARG_INFO(0, variable_representation)
-       ZEND_ARG_INFO(1, consumed)
 ZEND_END_ARG_INFO()
 
 ZEND_BEGIN_ARG_INFO_EX(arginfo_memory_get_usage, 0, 0, 0)
index c6c17512f39785b6ea1ff1e84770ecaef2487de6..da6f50cc02b29c00161cb547c66cbe8db08fd61b 100644 (file)
@@ -21,7 +21,7 @@ var_dump( unserialize() );
 
 //Test serialize with one more than the expected number of arguments
 var_dump( serialize(1,2) );
-var_dump( unserialize(1,$x,2) );
+var_dump( unserialize(1,2) );
 
 echo "Done";
 ?>
@@ -31,12 +31,12 @@ echo "Done";
 Warning: serialize() expects exactly 1 parameter, 0 given in %s on line 16
 NULL
 
-Warning: unserialize() expects at least 1 parameter, 0 given in %s on line 17
+Warning: unserialize() expects exactly 1 parameter, 0 given in %s on line 17
 bool(false)
 
 Warning: serialize() expects exactly 1 parameter, 2 given in %s on line 20
 NULL
 
-Warning: unserialize() expects at most 2 parameters, 3 given in %s on line 21
+Warning: unserialize() expects exactly 1 parameter, 2 given in %s on line 21
 bool(false)
 Done
diff --git a/ext/standard/tests/serialize/unserialize_consumed.phpt b/ext/standard/tests/serialize/unserialize_consumed.phpt
deleted file mode 100644 (file)
index 6cc11e2..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-Unserialization of partial strings
---FILE--
-<?php
-$data = [123,4.56,true];
-$ser = serialize($data);
-$serlen = strlen($ser);
-
-$unser = unserialize($ser, $consumed);
-echo "Consume full string: ";
-var_dump($serlen == $consumed);
-echo "Return original data: ";
-var_dump($unser === $data);
-
-$ser .= "junk\x01data";
-$unser = unserialize($ser, $consumed);
-echo "Consume full string(junk): ";
-var_dump($serlen == $consumed);
-echo "Return original data(junk): ";
-var_dump($unser === $data);
-
---EXPECT--
-Consume full string: bool(true)
-Return original data: bool(true)
-Consume full string(junk): bool(true)
-Return original data(junk): bool(true)
-
index 930edd6877ef9a8d92b1fb5231443da490b79709..457f31db331b6786485f36b2310ef9be58099f50 100644 (file)
@@ -943,7 +943,7 @@ PHP_FUNCTION(serialize)
 }
 /* }}} */
 
-/* {{{ proto mixed unserialize(string variable_representation[, int &consumed])
+/* {{{ proto mixed unserialize(string variable_representation)
    Takes a string representation of variable and recreates it */
 PHP_FUNCTION(unserialize)
 {
@@ -951,9 +951,8 @@ PHP_FUNCTION(unserialize)
        int buf_len;
        const unsigned char *p;
        php_unserialize_data_t var_hash;
-       zval *consumed = NULL;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &buf, &buf_len, &consumed) == FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &buf, &buf_len) == FAILURE) {
                RETURN_FALSE;
        }
 
@@ -972,11 +971,6 @@ PHP_FUNCTION(unserialize)
                RETURN_FALSE;
        }
        PHP_VAR_UNSERIALIZE_DESTROY(var_hash);
-
-       if (consumed) {
-               zval_dtor(consumed);
-               ZVAL_LONG(consumed, ((char*)p) - buf);
-       }
 }
 /* }}} */