Ard Biesheuvel [Tue, 10 Dec 2013 11:07:46 +0000 (12:07 +0100)]
Zend: fix overflow handling bug in non-x86 fast_add_function()
The 'result' argument of fast_add_function() may alias with either
of its operands (or both). Take care not to write to 'result' before
reading op1 and op2.
Functions registered using zend_register_functions instead of zend_module_entry.functions are not seen on reflection.
Ex: additional_functions from api_module_entry.
Ex: in CLI, dl, cli_set_process_title and cli_get_process_title
Note:
- also affects functions overrided in extension
(should be be reported in extension, where overrided, not in original extension)
- also allow extension to call zend_register_functions for various list
(instead of having a single bug list)
Dmitry Stogov [Tue, 10 Dec 2013 12:08:56 +0000 (16:08 +0400)]
Merge branch 'PHP-5.6'
* PHP-5.6:
Revered func_get_args() changes, because they were not completly transparent and broke some tricky PHP code that worked because of luck before php-5.5.6 (see Bug #66107). The changes are going to be kept in PHP-5.6.
Dmitry Stogov [Tue, 10 Dec 2013 12:08:46 +0000 (16:08 +0400)]
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
Revered func_get_args() changes, because they were not completly transparent and broke some tricky PHP code that worked because of luck before php-5.5.6 (see Bug #66107). The changes are going to be kept in PHP-5.6.
Dmitry Stogov [Tue, 10 Dec 2013 12:02:59 +0000 (16:02 +0400)]
Revered func_get_args() changes, because they were not completly transparent and broke some tricky PHP code that worked because of luck before php-5.5.6 (see Bug #66107). The changes are going to be kept in PHP-5.6.
Ard Biesheuvel [Tue, 10 Dec 2013 11:07:46 +0000 (12:07 +0100)]
Zend: fix overflow handling bug in non-x86 fast_add_function()
The 'result' argument of fast_add_function() may alias with either
of its operands (or both). Take care not to write to 'result' before
reading op1 and op2.
Dmitry Stogov [Tue, 10 Dec 2013 10:21:38 +0000 (14:21 +0400)]
Merge branch 'PHP-5.6'
* PHP-5.6:
Fixed bug #66252 (Problems in AST evaluation invalidating valid parent:: reference. Constant expessions have to be evaluated in context of defining class).
Dmitry Stogov [Tue, 10 Dec 2013 10:19:17 +0000 (14:19 +0400)]
Fixed bug #66252 (Problems in AST evaluation invalidating valid parent:: reference. Constant expessions have to be evaluated in context of defining class).
Ard Biesheuvel [Mon, 9 Dec 2013 15:54:42 +0000 (16:54 +0100)]
cli: don't cast away const in select() timeout argument
The timeout argument to select() is modified to reflect the time
remaining when the function returns on a non-timeout condition.
Passing a pointer to const data and casting away the const-ness is
asking for trouble, but for some reason, this trouble manifests
itself only on non-x86 architectures [whose implementation of select()
in glibc is different from the one supplied for x86]
Fix this by passing a stack copy of the timeout argument to select()
Adam Harvey [Sun, 8 Dec 2013 03:39:40 +0000 (19:39 -0800)]
Switch to using freetype-config for freetype detection.
This fixes GD compilation against libfreetype 2.5.1 and later after they made
the rather interesting decision to change their include directory layout in a
point release.
The original suggestion in the bug was to use pkg-config, but my inclination is
to use freetype-config instead: we should be able to get the same configuration
information without actually needing pkg-config installed, since pkg-config is
by no means guaranteed to exist on many Unices and distros, whereas
freetype-config should always be present if a libfreetype build environment is
installed. Let's try it out and see what happens.
Fixes bug #64405 (Use freetype-config for determining freetype2 dir(s)).
Michael Wallner [Fri, 6 Dec 2013 09:29:24 +0000 (10:29 +0100)]
Fixed bug #61645 (fopen and O_NONBLOCK)
if a mode like "rn" was passed to fopen(), then
php_stream_parse_fopen_modes() would assign O_WRONLY to
flags, because O_NONBLOCK tainted flags for the r/w/+ check
Michael Wallner [Thu, 5 Dec 2013 10:27:26 +0000 (11:27 +0100)]
Merge branch 'dba'
* dba:
fix bug #62490
more test fixes
fix test
fix php_stream_copy_to_stream_ex usage
add missing clean section
remove test for already removed feature
Adam Harvey [Tue, 3 Dec 2013 22:46:15 +0000 (14:46 -0800)]
Remove 128.0.0.0/16 and 191.255.0.0/16 from the reserved list.
These were returned to the general allocation pool by RFC 3330, and hence
shouldn't cause an IP address validation failure due to being reserved. At
least 128.0.0.0/16 is in use on the public Internet today.
Fixes bug #66229 (128.0.0.0/16 isn't reserved any longer).
Michael Wallner [Mon, 2 Dec 2013 15:58:34 +0000 (16:58 +0100)]
Fix bug #65196
Passing DOMDocumentFragment to DOMDocument::saveHTML()
produces invalid markup, because a DocumentFragment is just a container
for child nodes and not a real node itself.