Skip to content

Commit b1574a7

Browse files
committed
Merge branch 'master' of https://git.php.net/repository/php-src
* 'master' of https://git.php.net/repository/php-src: RFC 6598 reserved ip range starts at 100.64.0.0 fix a very rare case of use of uninitialized value combined with a memleak fix test concurrency fix test concurrency fix test concurrency fix test concurrency fix test concurrency fix build - PRIu64 vs %I64u
2 parents f0d8de4 + 58c6e05 commit b1574a7

File tree

81 files changed

+286
-274
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+286
-274
lines changed

ext/filter/logical_filters.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,7 @@ void php_filter_validate_ip(PHP_INPUT_FILTER_PARAM_DECL) /* {{{ */
714714
if (flags & FILTER_FLAG_NO_RES_RANGE) {
715715
if (
716716
(ip[0] == 0) ||
717-
(ip[0] == 100 && (ip[1] == 0 || ip[1] <= 127)) ||
717+
(ip[0] == 100 && (ip[1] >= 64 || ip[1] <= 127)) ||
718718
(ip[0] == 128 && ip[1] == 0) ||
719719
(ip[0] == 191 && ip[1] == 255) ||
720720
(ip[0] == 169 && ip[1] == 254) ||

ext/libxml/tests/bug61367-read.phpt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,28 +32,28 @@ XML
3232
}
3333
}
3434

35-
var_dump(mkdir('test_bug_61367'));
36-
var_dump(mkdir('test_bug_61367/base'));
37-
var_dump(file_put_contents('test_bug_61367/bad', 'blah'));
38-
var_dump(chdir('test_bug_61367/base'));
35+
var_dump(mkdir('test_bug_61367-read'));
36+
var_dump(mkdir('test_bug_61367-read/base'));
37+
var_dump(file_put_contents('test_bug_61367-read/bad', 'blah'));
38+
var_dump(chdir('test_bug_61367-read/base'));
3939

4040
stream_wrapper_register( 'exploit', 'StreamExploiter' );
4141
$s = fopen( 'exploit://', 'r' );
4242

4343
?>
4444
--CLEAN--
4545
<?php
46-
unlink('test_bug_61367/bad');
47-
rmdir('test_bug_61367/base');
48-
rmdir('test_bug_61367');
46+
unlink('test_bug_61367-read/bad');
47+
rmdir('test_bug_61367-read/base');
48+
rmdir('test_bug_61367-read');
4949
?>
5050
--EXPECTF--
5151
bool(true)
5252
bool(true)
5353
int(4)
5454
bool(true)
5555

56-
Warning: DOMDocument::loadXML(): I/O warning : failed to load external entity "file:///%s/test_bug_61367/bad" in %s on line %d
56+
Warning: DOMDocument::loadXML(): I/O warning : failed to load external entity "file:///%s/test_bug_61367-read/bad" in %s on line %d
5757

5858
Warning: DOMDocument::loadXML(): Failure to process entity file in Entity, line: 4 in %s on line %d
5959

ext/libxml/tests/bug61367-write.phpt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@ class StreamExploiter {
1919
}
2020
}
2121

22-
var_dump(mkdir('test_bug_61367'));
23-
var_dump(mkdir('test_bug_61367/base'));
24-
var_dump(file_put_contents('test_bug_61367/bad', 'blah'));
25-
var_dump(chdir('test_bug_61367/base'));
22+
var_dump(mkdir('test_bug_61367-write'));
23+
var_dump(mkdir('test_bug_61367-write/base'));
24+
var_dump(file_put_contents('test_bug_61367-write/bad', 'blah'));
25+
var_dump(chdir('test_bug_61367-write/base'));
2626

2727
stream_wrapper_register( 'exploit', 'StreamExploiter' );
2828
$s = fopen( 'exploit://', 'r' );
2929

3030
?>
3131
--CLEAN--
3232
<?php
33-
@unlink('test_bug_61367/bad');
34-
rmdir('test_bug_61367/base');
35-
rmdir('test_bug_61367');
33+
@unlink('test_bug_61367-write/bad');
34+
rmdir('test_bug_61367-write/base');
35+
rmdir('test_bug_61367-write');
3636
?>
3737
--EXPECTF--
3838
bool(true)

ext/phar/tests/031.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ require $pname;
2222
===DONE===
2323
--CLEAN--
2424
<?php
25-
unlink(dirname(__FILE__) . '/files/phar_oo_test.phar.php');
25+
unlink(dirname(__FILE__) . '/files/031.phar.php');
2626
__halt_compiler();
2727
?>
2828
--EXPECTF--
2929
string(25) "<?php echo new new class;"
3030

31-
Parse error: %s in phar://%sphar_oo_test.phar.php/a.php on line %d
31+
Parse error: %s in phar://%s031.phar.php/a.php on line %d

ext/phar/tests/032.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ echo $e->getMessage();
2121
===DONE===
2222
--CLEAN--
2323
<?php
24-
unlink(dirname(__FILE__) . '/files/phar_oo_test.phar.php');
24+
unlink(dirname(__FILE__) . '/files/032.phar.php');
2525
__halt_compiler();
2626
?>
2727
--EXPECTF--
2828

29-
phar "%sphar_oo_test.phar.php" does not have a signature===DONE===
29+
phar "%s032.phar.php" does not have a signature===DONE===

ext/phar/tests/files/phar_oo_test.inc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
ini_set('date.timezone', 'GMT');
44

5-
$fname = dirname(__FILE__) . '/phar_oo_test.phar.php';
5+
$tname = basename(current(get_included_files()), ".php");
6+
$fname = dirname(__FILE__) . "/$tname.phar.php";
67
$pname = 'phar://' . $fname;
78
$file = (binary)'<?php include "' . $pname . '/a.php"; __HALT_COMPILER(); ?>';
89

ext/phar/tests/phar_buildfromdirectory1.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ phar.require_hash=0
77
phar.readonly=0
88
--FILE--
99
<?php
10-
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory.phar');
10+
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory1.phar');
1111
try {
1212
ini_set('phar.readonly', 1);
1313
$phar->buildFromDirectory(1);
@@ -19,7 +19,7 @@ try {
1919
===DONE===
2020
--CLEAN--
2121
<?php
22-
unlink(dirname(__FILE__) . '/buildfromdirectory.phar');
22+
unlink(dirname(__FILE__) . '/buildfromdirectory1.phar');
2323
__HALT_COMPILER();
2424
?>
2525
--EXPECTF--

ext/phar/tests/phar_buildfromdirectory2-win.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ phar.readonly=0
1111
--FILE--
1212
<?php
1313
try {
14-
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory.phar');
14+
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory2.phar');
1515
$phar->buildFromDirectory(1);
1616
} catch (Exception $e) {
1717
var_dump(get_class($e));
@@ -21,7 +21,7 @@ try {
2121
===DONE===
2222
--CLEAN--
2323
<?php
24-
unlink(dirname(__FILE__) . '/buildfromdirectory.phar');
24+
unlink(dirname(__FILE__) . '/buildfromdirectory2.phar');
2525
__HALT_COMPILER();
2626
?>
2727
--EXPECTF--

ext/phar/tests/phar_buildfromdirectory2.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ phar.readonly=0
1111
--FILE--
1212
<?php
1313
try {
14-
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory.phar');
14+
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory2.phar');
1515
$phar->buildFromDirectory(1);
1616
} catch (Exception $e) {
1717
var_dump(get_class($e));
@@ -21,7 +21,7 @@ try {
2121
===DONE===
2222
--CLEAN--
2323
<?php
24-
unlink(dirname(__FILE__) . '/buildfromdirectory.phar');
24+
unlink(dirname(__FILE__) . '/buildfromdirectory2.phar');
2525
__HALT_COMPILER();
2626
?>
2727
--EXPECTF--

ext/phar/tests/phar_buildfromdirectory3.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ phar.readonly=0
99
<?php
1010

1111
try {
12-
$phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar');
12+
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory3.phar');
1313
$phar->buildFromDirectory('files', new stdClass);
1414
} catch (Exception $e) {
1515
var_dump(get_class($e));
@@ -19,7 +19,7 @@ try {
1919
===DONE===
2020
--CLEAN--
2121
<?php
22-
unlink(dirname(__FILE__) . '/buildfromiterator.phar');
22+
unlink(dirname(__FILE__) . '/buildfromdirectory3.phar');
2323
__HALT_COMPILER();
2424
?>
2525
--EXPECTF--

ext/phar/tests/phar_buildfromdirectory4.phpt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,43 +9,43 @@ open_basedir=
99
--FILE--
1010
<?php
1111

12-
mkdir(dirname(__FILE__).'/testdir');
12+
mkdir(dirname(__FILE__).'/testdir4');
1313
foreach(range(1, 4) as $i) {
14-
file_put_contents(dirname(__FILE__)."/testdir/file$i.txt", "some content for file $i");
14+
file_put_contents(dirname(__FILE__)."/testdir4/file$i.txt", "some content for file $i");
1515
}
1616

1717
try {
18-
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory.phar');
19-
$a = $phar->buildFromDirectory(dirname(__FILE__) . '/testdir');
18+
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory4.phar');
19+
$a = $phar->buildFromDirectory(dirname(__FILE__) . '/testdir4');
2020
asort($a);
2121
var_dump($a);
2222
} catch (Exception $e) {
2323
var_dump(get_class($e));
2424
echo $e->getMessage() . "\n";
2525
}
2626

27-
var_dump(file_exists(dirname(__FILE__) . '/buildfromdirectory.phar'));
27+
var_dump(file_exists(dirname(__FILE__) . '/buildfromdirectory4.phar'));
2828

2929
?>
3030
===DONE===
3131
--CLEAN--
3232
<?php
33-
unlink(dirname(__FILE__) . '/buildfromdirectory.phar');
33+
unlink(dirname(__FILE__) . '/buildfromdirectory4.phar');
3434
foreach(range(1, 4) as $i) {
35-
unlink(dirname(__FILE__) . "/testdir/file$i.txt");
35+
unlink(dirname(__FILE__) . "/testdir4/file$i.txt");
3636
}
37-
rmdir(dirname(__FILE__) . '/testdir');
37+
rmdir(dirname(__FILE__) . '/testdir4');
3838
?>
3939
--EXPECTF--
4040
array(4) {
4141
["file1.txt"]=>
42-
string(%d) "%stestdir%cfile1.txt"
42+
string(%d) "%stestdir4%cfile1.txt"
4343
["file2.txt"]=>
44-
string(%d) "%stestdir%cfile2.txt"
44+
string(%d) "%stestdir4%cfile2.txt"
4545
["file3.txt"]=>
46-
string(%d) "%stestdir%cfile3.txt"
46+
string(%d) "%stestdir4%cfile3.txt"
4747
["file4.txt"]=>
48-
string(%d) "%stestdir%cfile4.txt"
48+
string(%d) "%stestdir4%cfile4.txt"
4949
}
5050
bool(true)
5151
===DONE===

ext/phar/tests/phar_buildfromdirectory5.phpt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,43 +8,43 @@ phar.readonly=0
88
--FILE--
99
<?php
1010

11-
mkdir(dirname(__FILE__).'/testdir');
11+
mkdir(dirname(__FILE__).'/testdir5');
1212
foreach(range(1, 4) as $i) {
13-
file_put_contents(dirname(__FILE__)."/testdir/file$i.txt", "some content for file $i");
13+
file_put_contents(dirname(__FILE__)."/testdir5/file$i.txt", "some content for file $i");
1414
}
1515

1616
try {
17-
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory.phar');
18-
$a = $phar->buildFromDirectory(dirname(__FILE__) . '/testdir', '/\.txt/');
17+
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory5.phar');
18+
$a = $phar->buildFromDirectory(dirname(__FILE__) . '/testdir5', '/\.txt/');
1919
asort($a);
2020
var_dump($a);
2121
} catch (Exception $e) {
2222
var_dump(get_class($e));
2323
echo $e->getMessage() . "\n";
2424
}
2525

26-
var_dump(file_exists(dirname(__FILE__) . '/buildfromdirectory.phar'));
26+
var_dump(file_exists(dirname(__FILE__) . '/buildfromdirectory5.phar'));
2727

2828
?>
2929
===DONE===
3030
--CLEAN--
3131
<?php
32-
unlink(dirname(__FILE__) . '/buildfromdirectory.phar');
32+
unlink(dirname(__FILE__) . '/buildfromdirectory5.phar');
3333
foreach(range(1, 4) as $i) {
34-
unlink(dirname(__FILE__) . "/testdir/file$i.txt");
34+
unlink(dirname(__FILE__) . "/testdir5/file$i.txt");
3535
}
36-
rmdir(dirname(__FILE__) . '/testdir');
36+
rmdir(dirname(__FILE__) . '/testdir5');
3737
?>
3838
--EXPECTF--
3939
array(4) {
4040
["file1.txt"]=>
41-
string(%d) "%stestdir%cfile1.txt"
41+
string(%d) "%stestdir5%cfile1.txt"
4242
["file2.txt"]=>
43-
string(%d) "%stestdir%cfile2.txt"
43+
string(%d) "%stestdir5%cfile2.txt"
4444
["file3.txt"]=>
45-
string(%d) "%stestdir%cfile3.txt"
45+
string(%d) "%stestdir5%cfile3.txt"
4646
["file4.txt"]=>
47-
string(%d) "%stestdir%cfile4.txt"
47+
string(%d) "%stestdir5%cfile4.txt"
4848
}
4949
bool(true)
5050
===DONE===

ext/phar/tests/phar_buildfromdirectory6.phpt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,30 @@ phar.readonly=0
88
--FILE--
99
<?php
1010

11-
mkdir(dirname(__FILE__).'/testdir', 0777);
11+
mkdir(dirname(__FILE__).'/testdir6', 0777);
1212
foreach(range(1, 4) as $i) {
13-
file_put_contents(dirname(__FILE__)."/testdir/file$i.txt", "some content for file $i");
13+
file_put_contents(dirname(__FILE__)."/testdir6/file$i.txt", "some content for file $i");
1414
}
1515

1616
try {
17-
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory.phar');
18-
var_dump($phar->buildFromDirectory(dirname(__FILE__) . '/testdir', '/\.php$/'));
17+
$phar = new Phar(dirname(__FILE__) . '/buildfromdirectory6.phar');
18+
var_dump($phar->buildFromDirectory(dirname(__FILE__) . '/testdir6', '/\.php$/'));
1919
} catch (Exception $e) {
2020
var_dump(get_class($e));
2121
echo $e->getMessage() . "\n";
2222
}
2323

24-
var_dump(file_exists(dirname(__FILE__) . '/buildfromdirectory.phar'));
24+
var_dump(file_exists(dirname(__FILE__) . '/buildfromdirectory6.phar'));
2525

2626
?>
2727
===DONE===
2828
--CLEAN--
2929
<?php
30-
unlink(dirname(__FILE__) . '/buildfromdirectory.phar');
30+
unlink(dirname(__FILE__) . '/buildfromdirectory6.phar');
3131
foreach(range(1, 4) as $i) {
32-
unlink(dirname(__FILE__) . "/testdir/file$i.txt");
32+
unlink(dirname(__FILE__) . "/testdir6/file$i.txt");
3333
}
34-
rmdir(dirname(__FILE__) . '/testdir');
34+
rmdir(dirname(__FILE__) . '/testdir6');
3535
?>
3636
--EXPECT--
3737
array(0) {

ext/phar/tests/phar_buildfromiterator1.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ phar.require_hash=0
77
phar.readonly=0
88
--FILE--
99
<?php
10-
$phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar');
10+
$phar = new Phar(dirname(__FILE__) . '/buildfromiterator1.phar');
1111
try {
1212
ini_set('phar.readonly', 1);
1313
$phar->buildFromIterator(1);
@@ -19,7 +19,7 @@ try {
1919
===DONE===
2020
--CLEAN--
2121
<?php
22-
unlink(dirname(__FILE__) . '/buildfromiterator.phar');
22+
unlink(dirname(__FILE__) . '/buildfromiterator1.phar');
2323
__HALT_COMPILER();
2424
?>
2525
--EXPECTF--

ext/phar/tests/phar_buildfromiterator10.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ phar.readonly=0
1111
<?php
1212
try {
1313
chdir(dirname(__FILE__));
14-
$phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar');
14+
$phar = new Phar(dirname(__FILE__) . '/buildfromiterator10.phar');
1515
$dir = new RecursiveDirectoryIterator('.');
1616
$iter = new RecursiveIteratorIterator($dir);
1717
$a = $phar->buildFromIterator(new RegexIterator($iter, '/_\d{3}\.phpt$/'), dirname(__FILE__) . DIRECTORY_SEPARATOR);
@@ -25,7 +25,7 @@ try {
2525
===DONE===
2626
--CLEAN--
2727
<?php
28-
unlink(dirname(__FILE__) . '/buildfromiterator.phar');
28+
unlink(dirname(__FILE__) . '/buildfromiterator10.phar');
2929
__HALT_COMPILER();
3030
?>
3131
--EXPECTF--

ext/phar/tests/phar_buildfromiterator2.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ phar.readonly=0
88
--FILE--
99
<?php
1010
try {
11-
$phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar');
11+
$phar = new Phar(dirname(__FILE__) . '/buildfromiterator2.phar');
1212
$phar->buildFromIterator(new stdClass);
1313
} catch (Exception $e) {
1414
var_dump(get_class($e));
@@ -18,7 +18,7 @@ try {
1818
===DONE===
1919
--CLEAN--
2020
<?php
21-
unlink(dirname(__FILE__) . '/buildfromiterator.phar');
21+
unlink(dirname(__FILE__) . '/buildfromiterator2.phar');
2222
__HALT_COMPILER();
2323
?>
2424
--EXPECTF--

0 commit comments

Comments
 (0)