diff options
-rw-r--r-- | php-serialize.patch | 121 | ||||
-rw-r--r-- | php56.spec | 7 |
2 files changed, 127 insertions, 1 deletions
diff --git a/php-serialize.patch b/php-serialize.patch new file mode 100644 index 0000000..4de9a30 --- /dev/null +++ b/php-serialize.patch @@ -0,0 +1,121 @@ +diff -up ./ext/spl/spl_array.c.serialize ./ext/spl/spl_array.c +--- ./ext/spl/spl_array.c.serialize 2014-06-04 03:22:06.000000000 +0200 ++++ ./ext/spl/spl_array.c 2014-06-16 09:06:10.821885032 +0200 +@@ -1749,7 +1749,6 @@ SPL_METHOD(Array, unserialize) + } + + if (buf_len == 0) { +- zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Empty serialized string cannot be empty"); + return; + } + +diff -up ./ext/spl/spl_dllist.c.serialize ./ext/spl/spl_dllist.c +--- ./ext/spl/spl_dllist.c.serialize 2014-06-16 09:06:10.822885036 +0200 ++++ ./ext/spl/spl_dllist.c 2014-06-16 09:07:01.601098042 +0200 +@@ -1192,7 +1192,6 @@ SPL_METHOD(SplDoublyLinkedList, unserial + } + + if (buf_len == 0) { +- zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Serialized string cannot be empty"); + return; + } + +diff -up ./ext/spl/spl_observer.c.serialize ./ext/spl/spl_observer.c +--- ./ext/spl/spl_observer.c.serialize 2014-06-04 03:22:06.000000000 +0200 ++++ ./ext/spl/spl_observer.c 2014-06-16 09:06:10.823885040 +0200 +@@ -831,7 +831,6 @@ SPL_METHOD(SplObjectStorage, unserialize + } + + if (buf_len == 0) { +- zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Empty serialized string cannot be empty"); + return; + } + +diff -up ./ext/spl/tests/ArrayObject_unserialize_empty_string.phpt.serialize ./ext/spl/tests/ArrayObject_unserialize_empty_string.phpt +--- ./ext/spl/tests/ArrayObject_unserialize_empty_string.phpt.serialize 2014-06-04 03:22:06.000000000 +0200 ++++ ./ext/spl/tests/ArrayObject_unserialize_empty_string.phpt 2014-06-16 09:06:10.824885044 +0200 +@@ -1,5 +1,5 @@ + --TEST-- +-ArrayObject: test that you cannot unserialize a empty string ++ArrayObject: test that you can unserialize a empty string + --CREDITS-- + Havard Eide <nucleuz@gmail.com> + #PHPTestFest2009 Norway 2009-06-09 \o/ +@@ -8,9 +8,6 @@ Havard Eide <nucleuz@gmail.com> + $a = new ArrayObject(array()); + $a->unserialize(""); + ?> ++Done + --EXPECTF-- +-Fatal error: Uncaught exception 'UnexpectedValueException' with message 'Empty serialized string cannot be empty' in %s.php:%d +-Stack trace: +-#0 %s(%d): ArrayObject->unserialize('') +-#1 {main} +- thrown in %s.php on line %d ++Done +diff -up ./ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt.serialize ./ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt +--- ./ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt.serialize 2014-06-04 03:22:06.000000000 +0200 ++++ ./ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt 2014-06-16 09:06:10.824885044 +0200 +@@ -1,5 +1,5 @@ + --TEST-- +-Check that SplObjectStorage::unserialize throws exception when NULL passed ++Check that SplObjectStorage::unserialize doesn't throws exception when NULL passed + --CREDITS-- + PHPNW Testfest 2009 - Simon Westcott (swestcott@gmail.com) + --FILE-- +@@ -14,6 +14,6 @@ try { + } + + ?> ++Done + --EXPECTF-- +-Empty serialized string cannot be empty +- ++Done +diff -up ./ext/spl/tests/unserialize.phpt.serialize ./ext/spl/tests/unserialize.phpt +--- ./ext/spl/tests/unserialize.phpt.serialize 2014-06-16 09:06:10.824885044 +0200 ++++ ./ext/spl/tests/unserialize.phpt 2014-06-16 09:06:10.824885044 +0200 +@@ -0,0 +1,43 @@ ++--TEST-- ++SPL: unserialize with no data (for PHPUnit) ++--FILE-- ++<?php ++ ++$types = array('SplDoublyLinkedList', 'SplObjectStorage', 'ArrayObject'); ++ ++foreach ($types as $type) { ++ // serialize an empty new object ++ $exp = serialize(new $type()); ++ // hack to instanciate an object without constructor ++ $str = sprintf('C:%d:"%s":0:{}', strlen($type), $type); ++ $obj = unserialize($str); ++ var_dump($obj); ++ // serialize result ++ $out = serialize($obj); ++ // both should match ++ var_dump($exp === $out); ++} ++?> ++===DONE=== ++--EXPECTF-- ++object(SplDoublyLinkedList)#%d (2) { ++ ["flags":"SplDoublyLinkedList":private]=> ++ int(0) ++ ["dllist":"SplDoublyLinkedList":private]=> ++ array(0) { ++ } ++} ++bool(true) ++object(SplObjectStorage)#%d (1) { ++ ["storage":"SplObjectStorage":private]=> ++ array(0) { ++ } ++} ++bool(true) ++object(ArrayObject)#%d (1) { ++ ["storage":"ArrayObject":private]=> ++ array(0) { ++ } ++} ++bool(true) ++===DONE=== @@ -124,7 +124,7 @@ Summary: PHP scripting language for creating dynamic web sites Name: php Version: 5.6.0 %if 0%{?snapdate:1}%{?rcver:1} -Release: 0.11.%{?snapdate}%{?rcver}%{?dist} +Release: 0.12.%{?snapdate}%{?rcver}%{?dist} %else Release: 1%{?dist} %endif @@ -203,6 +203,7 @@ Patch302: php-5.6.0-noNO.patch Patch303: php-5.6.0-openssl.patch # WIP +Patch400: php-serialize.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -937,6 +938,7 @@ rm -rf ext/json %patch303 -p0 -b .md4md5 # WIP patch +%patch400 -p0 -b .serialize # Prevent %%doc confusion over LICENSE files cp Zend/LICENSE Zend/ZEND_LICENSE @@ -1926,6 +1928,9 @@ fi %changelog +* Mon Jun 16 2014 Remi Collet <rcollet@redhat.com> 5.6.0-0.12.beta4 +- test build for serialize + * Tue Jun 10 2014 Remi Collet <rcollet@redhat.com> 5.6.0-0.11.beta4 - test build for bug 67410, 67411, 67412, 67413 - fix 67392, dtrace breaks argument unpack |