diff options
author | Anatol Belski <ab@php.net> | 2015-02-08 12:43:22 +0100 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2015-02-08 12:43:22 +0100 |
commit | 371db55871bc66f33f549d6db2b2d8547aca2599 (patch) | |
tree | 7e0c09e0383020306a5ee7334210794b0fb079b6 | |
parent | 1c331d8d39e8013862cabc1d9cf942db89d7ad5a (diff) | |
parent | ffdc2c4123f2c4c67d3140667862177a7bceb90e (diff) | |
download | php-git-371db55871bc66f33f549d6db2b2d8547aca2599.tar.gz |
Merge branch 'PHP-5.6'
* PHP-5.6:
Fix another invalid free of CG(interned_empty_string)
add tests for #68996
Fixed #68790 (Missing return)
Invalid free of CG(interned_empty_string)
Conflicts:
ext/soap/soap.c
ext/wddx/wddx.c
main/main.c
sapi/litespeed/lsapi_main.c
-rw-r--r-- | ext/soap/tests/bug68996.phpt | 45 | ||||
-rw-r--r-- | ext/standard/tests/strings/bug68996.phpt | 23 | ||||
-rw-r--r-- | ext/wddx/tests/bug68996.phpt | 15 |
3 files changed, 83 insertions, 0 deletions
diff --git a/ext/soap/tests/bug68996.phpt b/ext/soap/tests/bug68996.phpt new file mode 100644 index 0000000000..e503d80239 --- /dev/null +++ b/ext/soap/tests/bug68996.phpt @@ -0,0 +1,45 @@ +--TEST-- +Bug #68996 (Invalid free of CG(interned_empty_string)) +--SKIPIF-- +<?php +if (getenv("USE_ZEND_ALLOC") !== "0") + print "skip Need Zend MM disabled"; +?> +--FILE-- +<?php +$s = new SoapServer(NULL, [ + 'uri' => 'http://foo', +]); + +function foo() { + return new SoapFault("\xfc\x63", "some msg"); +} +$s->addFunction("foo"); + +// soap 1.1 +$HTTP_RAW_POST_DATA = <<<EOF +<?xml version="1.0" encoding="UTF-8"?> +<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> + <SOAP-ENV:Body> + <SOAP-ENV:foo /> + </SOAP-ENV:Body> +</SOAP-ENV:Envelope> +EOF; +$s->handle($HTTP_RAW_POST_DATA); + +// soap 1.2 +$HTTP_RAW_POST_DATA = <<<EOF +<?xml version="1.0" encoding="UTF-8"?> +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> + <env:Body> + <env:foo /> + </env:Body> +</env:Envelope> +EOF; +$s->handle($HTTP_RAW_POST_DATA); +?> +--EXPECTF-- +<?xml version="1.0" encoding="UTF-8"?> +<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode></faultcode><faultstring>some msg</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope> +<?xml version="1.0" encoding="UTF-8"?> +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value></env:Value></env:Code><env:Reason><env:Text>some msg</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/standard/tests/strings/bug68996.phpt b/ext/standard/tests/strings/bug68996.phpt new file mode 100644 index 0000000000..af40274983 --- /dev/null +++ b/ext/standard/tests/strings/bug68996.phpt @@ -0,0 +1,23 @@ +--TEST-- +Bug #68996 (Invalid free of CG(interned_empty_string)) +--SKIPIF-- +<?php +if (getenv("USE_ZEND_ALLOC") !== "0") + print "skip Need Zend MM disabled"; +?> +--INI-- +html_errors=1 +--FILE-- +<?php +fopen("\xfc\x63", "r"); +finfo_open(FILEINFO_MIME_TYPE, "\xfc\x63"); +?> +--EXPECTF-- +<br /> +<b>Warning</b>: : failed to open stream: No such file or directory in <b>%sbug68996.php</b> on line <b>2</b><br /> +<br /> +<b>Warning</b>: : failed to open stream: No such file or directory in <b>%sbug68996.php</b> on line <b>3</b><br /> +<br /> +<b>Warning</b>: : failed to open stream: No such file or directory in <b>%sbug68996.php</b> on line <b>3</b><br /> +<br /> +<b>Warning</b>: finfo_open(): in <b>/%sbug68996.php</b> on line <b>3</b><br /> diff --git a/ext/wddx/tests/bug68996.phpt b/ext/wddx/tests/bug68996.phpt new file mode 100644 index 0000000000..fc4ecbc731 --- /dev/null +++ b/ext/wddx/tests/bug68996.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #68996 (Invalid free of CG(interned_empty_string)) +--SKIPIF-- +<?php +if (getenv("USE_ZEND_ALLOC") !== "0") + print "skip Need Zend MM disabled"; +?> +--FILE-- +<?php +echo wddx_serialize_value("\xfc\x63") . "\n"; +echo wddx_serialize_value([ "\xfc\x63" => "foo" ]) . "\n"; +?> +--EXPECTF-- +<wddxPacket version='1.0'><header/><data><string></string></data></wddxPacket> +<wddxPacket version='1.0'><header/><data><struct><var name=''><string>foo</string></var></struct></data></wddxPacket> |