Skip to content

Commit 8cb1281

Browse files
committed
Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src: (65 commits) Add a couple more test cases to parse_url() tests fix missing change from 'tcp_socket' to the more common 'server' fix many parallel test issues Cleanup temp test file Fixed Bug #66034 (Segmentation Fault when constructor of PDO statement throws an exception) Typo fix: umknown -> unknown Fix bug #66008 5.4.23-dev Update NEWS Fixed Bug 64760 var_export() does not use full precision for floating-point numbers add bundled libzip LICENSE, as required by BSD License terms - Updated to version 2013.8 (2013h) remove "PHP 6" staff Fixed bug #65950 Field name truncation if the field name is bigger than 32 characters - Updated to version 2013.7 (2013g) Fix Coverity issue reporting wrong sizeof() exif NEWS add tests for bug #62523 Merged PR #293 (Exif crash on unknown encoding was fixed) By: Draal Conflicts: configure.in main/php_version.h Just SKIP that test on travis ...
2 parents f0c9265 + 8b6b39f commit 8cb1281

File tree

157 files changed

+1899
-967
lines changed

Some content is hidden

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

157 files changed

+1899
-967
lines changed

CODING_STANDARDS

+1-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Naming Conventions
151151

152152
7. Classes should be given descriptive names. Avoid using abbreviations where
153153
possible. Each word in the class name should start with a capital letter,
154-
without underscore delimiters (CampelCaps starting with a capital letter).
154+
without underscore delimiters (CamelCaps starting with a capital letter).
155155
The class name should be prefixed with the name of the 'parent set' (e.g.
156156
the name of the extension)::
157157

NEWS

+49-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,45 @@
11
PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3-
?? ??? 2013, PHP 5.4.21
3+
?? ??? 2013, PHP 5.4.23
4+
5+
?? ??? 2013, PHP 5.4.22
6+
7+
- Core:
8+
. Fixed bug #65911 (scope resolution operator - strange behavior with $this).
9+
(Bob Weinand)
10+
11+
- CLI server:
12+
. Fixed bug #65818 (Segfault with built-in webserver and chunked transfer
13+
encoding). (Felipe)
14+
15+
- Exif:
16+
. Fixed crash on unknown encoding. (Draal)
17+
18+
- FTP:
19+
. Fixed bug #65667 (ftp_nb_continue produces segfault). (Philip Hofstetter)
20+
21+
- ODBC:
22+
. Fixed bug #65950 (Field name truncation if the field name is bigger than
23+
32 characters). (patch submitted by: michael dot y at zend dot com, Yasuo)
24+
25+
- PDO:
26+
. Fixed bug #66033 (Segmentation Fault when constructor of PDO statement
27+
throws an exception). (Laruence)
28+
29+
- Sockets:
30+
. Fixed bug #65808 (the socket_connect() won't work with IPv6 address).
31+
(Mike)
32+
33+
- Standard:
34+
. Fixed bug #64760 (var_export() does not use full precision for floating-point
35+
numbers) (Yasuo)
36+
37+
- XMLReader:
38+
. Fixed bug #51936 (Crash with clone XMLReader). (Mike)
39+
. Fixed bug #64230 (XMLReader does not suppress errors). (Mike)
40+
41+
42+
17 Oct 2013, PHP 5.4.21
443

544
- Core:
645
. Fixed bug #65322 (compile time errors won't trigger auto loading). (Nikita)
@@ -26,6 +65,15 @@ PHP NEWS
2665
. Fixed bug #65721 (configure script broken in 5.5.4 and 5.4.20 when enabling
2766
imap). (ryotakatsuki at gmail dot com)
2867

68+
- Standard:
69+
. Fixed bug #61548 (content-type must appear at the end of headers for 201
70+
Location to work in http). (Mike)
71+
72+
- Build system:
73+
. Fixed bug #62396 ('make test' crashes starting with 5.3.14 (missing
74+
gzencode())). (Mike)
75+
76+
2977
19 Sep 2013, PHP 5.4.20
3078

3179
- Core:

README.EXTENSIONS

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ zend_module_entry foo_module_entry = {
3030
PHP_RSHUTDOWN(foo), /* per-request shutdown function */
3131
PHP_MINFO(foo), /* information function */
3232
#if ZEND_MODULE_API_NO >= 20010901
33-
FOO_VERSION, /* extension version number (string) */
33+
PHP_FOO_VERSION, /* extension version number (string) */
3434
#endif
3535
STANDARD_MODULE_PROPERTIES
3636
};

README.EXT_SKEL

+5
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ HOW TO USE IT
3131

3232
./buildconf; ./configure --enable-module_name; make
3333

34+
The definition of PHP_MODULE_NAME_VERSION will be present in the
35+
php_module_name.h and injected into the zend_module_entry definition. This
36+
is required by the PECL website for the version string conformity checks
37+
against package.xml
38+
3439
But if you already have planned the overall scheme of your module, what
3540
functions it will contain, their return types and the arguments they take
3641
(a very good idea) and don't want to bother yourself with creating function

README.SELF-CONTAINED-EXTENSIONS

+15
Original file line numberDiff line numberDiff line change
@@ -153,3 +153,18 @@ ADDING SHARED MODULE SUPPORT TO A MODULE
153153
#ifdef COMPILE_DL_FOO
154154
ZEND_GET_MODULE(foo)
155155
#endif
156+
157+
PECL SITE CONFORMITY
158+
159+
If you plan to release an extension to the PECL website, there are several
160+
points to be regarded.
161+
162+
1. Add LICENSE or COPYING to the package.xml
163+
164+
2. The following should be defined in one of the extension header files
165+
166+
#define PHP_FOO_VERSION "1.2.3"
167+
168+
This macros has to be used within your foo_module_entry to indicate the
169+
extension version.
170+

Zend/acinclude.m4

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ AC_DEFUN([LIBZEND_BISON_CHECK],[
1212
bison_version=none
1313
if test "$YACC"; then
1414
AC_CACHE_CHECK([for bison version], php_cv_bison_version, [
15-
bison_version_vars=`bison --version 2> /dev/null | grep 'GNU Bison' | cut -d ' ' -f 4 | $SED -e 's/\./ /' | tr -d a-z`
15+
bison_version_vars=`$YACC --version 2> /dev/null | grep 'GNU Bison' | cut -d ' ' -f 4 | $SED -e 's/\./ /g' | tr -d a-z`
1616
php_cv_bison_version=invalid
1717
if test -n "$bison_version_vars"; then
1818
set $bison_version_vars

Zend/tests/bug65911.phpt

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
--TEST--
2+
Bug #65911 (scope resolution operator - strange behavior with $this)
3+
--FILE--
4+
<?php
5+
class A {}
6+
7+
class B
8+
{
9+
public function go()
10+
{
11+
$this->foo = 'bar';
12+
echo A::$this->foo; // should not output 'bar'
13+
}
14+
}
15+
16+
$obj = new B();
17+
$obj->go();
18+
?>
19+
--EXPECTF--
20+
Fatal error: Access to undeclared static property: A::$this in %s on line %d

Zend/zend_compile.c

+1
Original file line numberDiff line numberDiff line change
@@ -905,6 +905,7 @@ static zend_bool opline_is_fetch_this(const zend_op *opline TSRMLS_DC) /* {{{ */
905905
{
906906
if ((opline->opcode == ZEND_FETCH_W) && (opline->op1_type == IS_CONST)
907907
&& (Z_TYPE(CONSTANT(opline->op1.constant)) == IS_STRING)
908+
&& ((opline->extended_value & ZEND_FETCH_STATIC_MEMBER) != ZEND_FETCH_STATIC_MEMBER)
908909
&& (Z_HASH_P(&CONSTANT(opline->op1.constant)) == THIS_HASHVAL)
909910
&& (Z_STRLEN(CONSTANT(opline->op1.constant)) == (sizeof("this")-1))
910911
&& !memcmp(Z_STRVAL(CONSTANT(opline->op1.constant)), "this", sizeof("this"))) {

configure.in

+1-1
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=4
122-
PHP_RELEASE_VERSION=21
122+
PHP_RELEASE_VERSION=23
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`

ext/bz2/bz2_filter.c

+1
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ static php_stream_filter_status_t php_bz2_decompress_filter(
9797
status = BZ2_bzDecompressInit(streamp, 0, data->small_footprint);
9898

9999
if (BZ_OK != status) {
100+
php_stream_bucket_delref(bucket TSRMLS_CC);
100101
return PSFS_ERR_FATAL;
101102
}
102103

0 commit comments

Comments
 (0)