1--TEST--
2setParameter() with null bytes
3--EXTENSIONS--
4xsl
5--FILE--
6<?php
7
8$xslt = new XSLTProcessor();
9
10try {
11    $xslt->setParameter("", "foo\0", "bar");
12} catch (ValueError $e) {
13    echo $e->getMessage(), "\n";
14}
15
16try {
17    $xslt->setParameter("", "foo", "bar\0");
18} catch (ValueError $e) {
19    echo $e->getMessage(), "\n";
20}
21
22try {
23    $xslt->setParameter("", [
24        "foo\0" => "bar",
25    ]);
26} catch (ValueError $e) {
27    echo $e->getMessage(), "\n";
28}
29
30try {
31    $xslt->setParameter("", [
32        "foo" => "bar\0",
33    ]);
34} catch (ValueError $e) {
35    echo $e->getMessage(), "\n";
36}
37
38?>
39--EXPECT--
40XSLTProcessor::setParameter(): Argument #2 ($name) must not contain any null bytes
41XSLTProcessor::setParameter(): Argument #3 ($value) must not contain any null bytes
42XSLTProcessor::setParameter(): Argument #3 ($value) must not contain keys with any null bytes
43XSLTProcessor::setParameter(): Argument #3 ($value) must not contain values with any null bytes
44