diff options
| author | Ondřej Surý <ondrej@sury.org> | 2012-11-16 13:25:37 +0100 |
|---|---|---|
| committer | Ondřej Surý <ondrej@sury.org> | 2012-11-16 13:25:37 +0100 |
| commit | 0b82e05fe264306004119e30119e665365331e17 (patch) | |
| tree | b6ee689804e9ca3946a644a80760d821a032d42f /ext/libxml | |
| parent | b57a2691d5b72c3894e2d4e0f945cecc6b3a1953 (diff) | |
| download | php-0b82e05fe264306004119e30119e665365331e17.tar.gz | |
Imported Upstream version 5.5.0~alpha1upstream/5.5.0_alpha1
Diffstat (limited to 'ext/libxml')
| -rw-r--r-- | ext/libxml/libxml.c | 2 | ||||
| -rw-r--r-- | ext/libxml/tests/004.phpt | 22 | ||||
| -rw-r--r-- | ext/libxml/tests/bug63389.phpt | 14 |
3 files changed, 26 insertions, 12 deletions
diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c index a39c875b2..c97ee6724 100644 --- a/ext/libxml/libxml.c +++ b/ext/libxml/libxml.c @@ -918,7 +918,7 @@ static PHP_FUNCTION(libxml_set_streams_context) { zval *arg; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &arg) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &arg) == FAILURE) { return; } if (LIBXML(stream_context)) { diff --git a/ext/libxml/tests/004.phpt b/ext/libxml/tests/004.phpt index 8bdf593b9..aa87ab750 100644 --- a/ext/libxml/tests/004.phpt +++ b/ext/libxml/tests/004.phpt @@ -27,26 +27,26 @@ echo "Done\n"; ?> --EXPECTF-- -Warning: stream_context_create(): options should have the form ["wrappername"]["optionname"] = $value in %s004.php on line 10 -NULL +Warning: stream_context_create(): options should have the form ["wrappername"]["optionname"] = $value in %s004.php on line %d -Warning: DOMDocument::load(): supplied argument is not a valid Stream-Context resource in %s004.php on line 18 -bool(true) +Warning: libxml_set_streams_context() expects parameter 1 to be resource, null given in %s004.php on line %d NULL - -Warning: DOMDocument::load(): supplied argument is not a valid Stream-Context resource in %s004.php on line 18 bool(true) -NULL -Warning: DOMDocument::load(): supplied argument is not a valid Stream-Context resource in %s004.php on line 18 -bool(true) +Warning: libxml_set_streams_context() expects parameter 1 to be resource, string given in %s004.php on line %d NULL +bool(true) -Warning: DOMDocument::load(): supplied argument is not a valid Stream-Context resource in %s004.php on line 18 +Warning: libxml_set_streams_context() expects parameter 1 to be resource, integer given in %s004.php on line %d +NULL bool(true) + +Warning: libxml_set_streams_context() expects parameter 1 to be resource, object given in %s004.php on line %d NULL +bool(true) -Warning: DOMDocument::load(): supplied argument is not a valid Stream-Context resource in %s004.php on line 18 +Warning: libxml_set_streams_context() expects parameter 1 to be resource, array given in %s004.php on line %d +NULL bool(true) NULL bool(true) diff --git a/ext/libxml/tests/bug63389.phpt b/ext/libxml/tests/bug63389.phpt new file mode 100644 index 000000000..e9498aae0 --- /dev/null +++ b/ext/libxml/tests/bug63389.phpt @@ -0,0 +1,14 @@ +--TEST-- +Bug #63389 (Missing context check on libxml_set_streams_context() causes memleak) +--SKIPIF-- +<?php if (!extension_loaded('libxml')) die('skip'); ?> +--FILE-- +<?php +$fp = fopen("php://input", "r"); +libxml_set_streams_context($fp); +libxml_set_streams_context("a"); +echo "okey"; +?> +--EXPECTF-- +Warning: libxml_set_streams_context() expects parameter 1 to be resource, string given in %sbug63389.php on line %d +okey |
