Skip to content

Commit b0954eb

Browse files
author
George Wang
committed
Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
2 parents 8877fea + 5fe078a commit b0954eb

30 files changed

+1870
-1025
lines changed

NEWS

Lines changed: 52 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,44 @@
11
PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3-
?? ??? 2015, PHP 5.5.26
3+
?? ??? 2015, PHP 5.5.27
4+
5+
- Core:
6+
. Fixed bug #69703 (Use __builtin_clzl on PowerPC).
7+
(dja at axtens dot net, Kalle)
8+
. Fixed bug #69732 (can induce segmentation fault with basic php code).
9+
(Dmitry)
10+
. Fixed bug #69642 (Windows 10 reported as Windows 8).
11+
(Christian Wenz, Anatol Belski)
12+
. Fixed bug #69551 (parse_ini_file() and parse_ini_string() segmentation
13+
fault). (Christoph M. Becker)
14+
. Fixed bug #69781 (phpinfo() reports Professional Editions of Windows
15+
7/8/8.1/10 as "Business"). (Christian Wenz)
16+
. Fixed bug #69835 (phpinfo() does not report many Windows SKUs).
17+
(Christian Wenz)
18+
. Fixed bug #69892 (Different arrays compare indentical due to integer key
19+
truncation). (Nikita)
20+
21+
- GD:
22+
. Fixed bug #61221 (imagegammacorrect function loses alpha channel). (cmb)
23+
24+
- PDO_pgsql:
25+
. Fixed bug #69752 (PDOStatement::execute() leaks memory with DML
26+
Statements when closeCuror() is u). (Philip Hofstetter)
27+
. Fixed bug #69362 (PDO-pgsql fails to connect if password contains a
28+
leading single quote). (Matteo)
29+
. Fixed bug #69344 (PDO PgSQL Incorrect binding numeric array with gaps).
30+
(Matteo)
31+
32+
- SimpleXML:
33+
. Refactored the fix for bug #66084 (simplexml_load_string() mangles empty
34+
node name). (Christoph Michael Becker)
35+
36+
- SPL:
37+
. Fixed bug #69737 (Segfault when SplMinHeap::compare produces fatal error).
38+
(Stas)
39+
. Fixed bug #67805 (SplFileObject setMaxLineLength). (Willian Gustavo Veiga).
40+
41+
11 Jun 2015, PHP 5.5.26
442

543
- Core:
644
. Fixed bug #69566 (Conditional jump or move depends on uninitialised value
@@ -9,19 +47,25 @@
947
(Julien)
1048
. Fixed bug #69628 (complex GLOB_BRACE fails on Windows).
1149
(Christoph M. Becker)
12-
. Fixed bug #69703 (Use __builtin_clzl on PowerPC).
13-
(dja at axtens dot net, Kalle)
14-
. Fixed bug #69732 (can induce segmentation fault with basic php code).
15-
(Dmitry)
16-
. Fixed #69642 (Windows 10 reported as Windows 8).
17-
(Christian Wenz, Anatol Belski)
50+
. Improved fix for bug #69545 (Integer overflow in ftp_genlist() resulting in
51+
heap overflow). (CVE-2015-4643) (Max Spelsberg)
52+
. Fixed bug #69646 (OS command injection vulnerability in escapeshellarg).
53+
(CVE-2015-4642) (Anatol Belski)
54+
. Fixed bug #69719 (Incorrect handling of paths with NULs). (Stas)
1855

1956
- GD:
2057
. Fixed bug #69479 (GD fails to build with newer libvpx). (Remi)
2158

2259
- Iconv:
2360
. Fixed bug #48147 (iconv with //IGNORE cuts the string). (Stas)
2461

62+
- Litespeed SAPI:
63+
. Fixed bug #68812 (Unchecked return value). (George Wang)
64+
65+
- Mail:
66+
. Fixed bug #68776 (mail() does not have mail header injection prevention for
67+
additional headers). (Yasuo)
68+
2569
- MCrypt:
2670
. Added file descriptor caching to mcrypt_create_iv() (Leigh)
2771

@@ -33,21 +77,12 @@
3377
(Matteo Bernardini, Remi)
3478

3579
- Postgres:
36-
. Fixed bug #69667 (segfault in php_pgsql_meta_data). (Remi)
80+
. Fixed bug #69667 (segfault in php_pgsql_meta_data). (CVE-2015-4644) (Remi)
3781

3882
- Opcache
3983
. Fixed bug #69549 (Memory leak with opcache.optimization_level=0xFFFFFFFF).
4084
(Laruence, Dmitry)
4185

42-
- SimpleXML:
43-
. Refactored the fix for bug #66084 (simplexml_load_string() mangles empty
44-
node name). (Christoph Michael Becker)
45-
46-
- SPL:
47-
. Fixed bug #69737 (Segfault when SplMinHeap::compare produces fatal error).
48-
(Stas)
49-
. Fixed bug #67805 (SplFileObject setMaxLineLength). (Willian Gustavo Veiga).
50-
5186
- Sqlite3:
5287
. Upgrade bundled sqlite to 3.8.10.2. (CVE-2015-3414, CVE-2015-3415,
5388
CVE-2015-3416) (Kaplan)

Zend/tests/bug69551.phpt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
--TEST--
2+
Bug #69551 - parse_ini_file() and parse_ini_string() segmentation fault
3+
--FILE--
4+
<?php
5+
$ini = <<<INI
6+
[Network.eth0]
7+
SubnetMask = "
8+
"
9+
INI;
10+
$settings = parse_ini_string($ini, false, INI_SCANNER_RAW);
11+
var_dump($settings);
12+
?>
13+
--EXPECTF--
14+
Warning: syntax error, unexpected '"' in Unknown on line %d
15+
in %s on line %d
16+
bool(false)

Zend/tests/bug69892.phpt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
--TEST--
2+
Bug #69892: Different arrays compare indentical due to integer key truncation
3+
--SKIPIF--
4+
<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platforms only"); ?>
5+
--FILE--
6+
<?php
7+
var_dump([0 => 0] === [0x100000000 => 0]);
8+
?>
9+
--EXPECT--
10+
bool(false)

Zend/zend_hash.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1534,11 +1534,10 @@ ZEND_API int zend_hash_compare(HashTable *ht1, HashTable *ht2, compare_func_t co
15341534
}
15351535
if (ordered) {
15361536
if (p1->nKeyLength==0 && p2->nKeyLength==0) { /* numeric indices */
1537-
result = p1->h - p2->h;
1538-
if (result!=0) {
1537+
if (p1->h != p2->h) {
15391538
HASH_UNPROTECT_RECURSION(ht1);
15401539
HASH_UNPROTECT_RECURSION(ht2);
1541-
return result;
1540+
return p1->h > p2->h ? 1 : -1;
15421541
}
15431542
} else { /* string indices */
15441543
result = p1->nKeyLength - p2->nKeyLength;

Zend/zend_ini_scanner.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1926,7 +1926,7 @@ int ini_lex(zval *ini_lval TSRMLS_DC)
19261926
}
19271927

19281928
/* Eat leading and trailing double quotes */
1929-
if (yytext[0] == '"' && yytext[yyleng - 1] == '"') {
1929+
if (yyleng > 1 && yytext[0] == '"' && yytext[yyleng - 1] == '"') {
19301930
SCNG(yy_text)++;
19311931
yyleng = yyleng - 2;
19321932
} else if (sc) {

Zend/zend_ini_scanner.l

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ end_raw_value_chars:
472472
}
473473

474474
/* Eat leading and trailing double quotes */
475-
if (yytext[0] == '"' && yytext[yyleng - 1] == '"') {
475+
if (yyleng > 1 && yytext[0] == '"' && yytext[yyleng - 1] == '"') {
476476
SCNG(yy_text)++;
477477
yyleng = yyleng - 2;
478478
} else if (sc) {

configure.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
119119

120120
PHP_MAJOR_VERSION=5
121121
PHP_MINOR_VERSION=5
122-
PHP_RELEASE_VERSION=26
122+
PHP_RELEASE_VERSION=27
123123
PHP_EXTRA_VERSION="-dev"
124124
PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
125125
PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`

0 commit comments

Comments
 (0)