Compare commits

...
652 Commits
Author SHA1 Message Date
Stanislav Malyshev 60c5de5cd7 5.4.26 2014-03-05 00:07:14 -08:00
Stanislav Malyshev c9a6c62b41 add fix for #66820 2014-03-04 11:56:01 -08:00
Remi Collet 71e21e17a1 Fixed Bug #66820 out-of-bounds memory access in fileinfo
Upstream fix:
https://github.com/glensc/file/commit/447558595a3650db2886cd2f416ad0beba965801

Notice, test changed, with upstream agreement:
-define OFFSET_OOB(n, o, i)	((n) < (o) || (i) >= ((n) - (o)))
+define OFFSET_OOB(n, o, i)	((n) < (o) || (i) >  ((n) - (o)))
2014-03-04 11:54:11 -08:00
Remi Collet fc8f0c34f7 Improves fix for memory leak, keep in sync with upstream.
Previous fix:
http://git.php.net/?p=php-src.git;a=commitdiff;h=10eb0070700382f966bf260e44135e1f724a15d2

Upstream fix:
https://github.com/glensc/file/commit/c0c0032b9e9eb57b91fefef905a3b018bab492d9
2014-03-04 11:53:45 -08:00
Anatol Belski 43d220603c fixed leak introduced after CVE/upgrade 2014-03-04 11:53:32 -08:00
Stanislav Malyshev 0658e65f64 update NEWS 2014-02-18 08:37:53 -08:00
Remi Collet fdb9b6e5ec Fixed Bug #66731 file: infinite recursion
Upstream commit (available in file-5.17)

https://github.com/glensc/file/commit/3c081560c23f20b2985c285338b52c7aae9fdb0f
https://github.com/glensc/file/commit/cc9e74dfeca5265ad725acc926ef0b8d2a18ee70
2014-02-18 08:35:27 -08:00
Stanislav Malyshev cbf5581d82 5.4.26 RC1 2014-02-17 21:18:09 -08:00
Stanislav Malyshev b79d2285df update NEWS 2014-02-17 21:16:48 -08:00
Daniel Lowrey a80cec1190 Fixed broken build when EC unavailable 2014-02-17 18:55:39 -05:00
Julien Pauli b04159eed4 Updated NEWS for #65753 2014-02-17 11:05:34 +01:00
Julien Pauli 786234d351 Export JsonSerializable Interface (bug #65753) 2014-02-17 10:25:40 +01:00
Yasuo Ohgaki f275fdcf00 Fixed possbile injections against pg_insert()/pg_delete()/pg_update()/pg_select() 2014-02-16 10:45:15 +09:00
Yasuo Ohgaki 6f14b5ab41 Refactor build_tablename() 2014-02-16 07:51:27 +09:00
Yasuo Ohgaki 9f251548ae Revise encoding blacklist 2014-02-16 06:21:39 +09:00
Felipe Pena 9d84f6c06e - Fix ZTS build when HAVE_PQESCAPELITERAL is not set 2014-02-15 11:04:49 -02:00
Yasuo Ohgaki 7ce88b2d8a Update NEWS 2014-02-15 19:20:34 +09:00
Yasuo Ohgaki 832c21cabf Refactor and cleanup. WS is cleaned up. Use -b if it is needed.
Added compatibility macros, PQescapeStringConn, PGSQLescapeLiteral/Identifier, PGSQLfree.
2014-02-15 18:20:58 +09:00
Daniel Lowrey 5cc851e83e Update NEWS 2014-02-14 21:41:18 -07:00
mk-j 19524fc6fe Fix for bug66501 - "key type not supported in this PHP build" 2014-02-14 18:11:46 -07:00
Veres Lajos 35101e9ef4 a few typofixes 2014-02-14 14:51:10 +02:00
Mats Lindh 6188674f1e Replace old SVN references to Git 2014-02-09 21:17:26 +02:00
Anatol Belski e41059c633 update libs_version.txt 2014-02-06 09:13:05 +01:00
Hannes Magnusson 1e0fdf0256 Fix year 2014-02-05 10:15:11 -08:00
Anatol Belski 71ebc0a7f3 adapt test to curl 7.35.0 upgrade
which is a security one and should be performed as in
http://curl.haxx.se/docs/adv_20140129.html
2014-02-05 15:15:34 +01:00
Stanislav Malyshev 770aeeb40c tests still failing, so xfail for now until fixed 2014-01-29 23:48:07 -08:00
Yasuo Ohgaki f5e097d1ed Fixed bug data->fd not set to -1 for open_basedir failure. 2014-01-30 14:15:29 +09:00
Yasuo Ohgaki d941ac5b4f Fixed zend.multibyte tests partially 2014-01-29 15:41:30 +09:00
Andrey Hristov 79cbcd9ded add text for the new constants 2014-01-28 15:32:59 +02:00
Andrey Hristov eafe070f86 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2014-01-28 15:23:54 +02:00
Andrey Hristov d3faae03ec add new consts 2014-01-28 15:23:41 +02:00
Bob Weinand e9b4bca5a0 Fixed arginfo of PDO::__construct() to match the docs and zend_parse_parameters definition. 2014-01-28 13:31:52 +01:00
Yasuo Ohgaki 4dee63ca1c Remove obsolete description 2014-01-27 18:41:31 +09:00
Yasuo Ohgaki d65ddb633d Fix English and improve by Stas. Thanks :) 2014-01-26 17:20:13 -08:00
Yasuo Ohgaki f496aac1f6 Update source docs 2014-01-26 17:20:12 -08:00
Yasuo Ohgaki 76c098395d Revert "Update source docs"
This reverts commit 10d06cd4ff3038d2f02a18936793969e7aee0bda.
2014-01-26 17:20:12 -08:00
Yasuo Ohgaki 60bcf84dda Update source docs 2014-01-26 17:20:12 -08:00
Stanislav Malyshev d5560faaa3 drop precision since trigonometric functions are non-portable
See: http://stackoverflow.com/questions/21212326/floating-point-arithmetic-and-reproducibility
2014-01-26 15:51:17 -08:00
Stanislav Malyshev f49965b487 XFAIL multibyte tests until they are fixed (bug 66582) 2014-01-26 15:51:17 -08:00
Derick Rethans 251b914afa Merge branch '45543-timezone-set' into PHP-5.4 2014-01-26 14:02:19 +01:00
Derick Rethans 22dba2f5f3 Fixed bug #45543: DateTime::setTimezone can not set timezones without ID. 2014-01-26 14:01:58 +01:00
Stanislav Malyshev 4e308abf28 fix test bug62479.phpt 2014-01-25 23:25:39 -08:00
Stanislav Malyshev 0742de587a Merge branch 'pull-request/571' into PHP-5.4
* pull-request/571:
  Implement ldap_modify_batch.
2014-01-25 21:59:57 -08:00
Derick Rethans fb16bff2ba Merge branch '44780-fallback' into PHP-5.4 2014-01-25 16:15:50 +01:00
Derick Rethans e6ab180394 Fixed bug #44780: some time zone offsets not recognized by timezone_name_from_abbr. 2014-01-25 16:14:51 +01:00
Ferenc Kovacs 69af357182 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix the primary qa email address and update the list of available people being able to add moderators to our lists
  Revert "Fix #62479: Some chars not parsed in passwords"
  Fix #62479: Some chars not parsed in passwords
2014-01-24 16:07:29 +01:00
Ferenc Kovacs 4b48b29988 fix the primary qa email address and update the list of available people being able to add moderators to our lists 2014-01-24 16:06:58 +01:00
Will Fitch c4c10a222e Update gitignore and Makefile for additional entries 2014-01-23 21:28:45 -05:00
Ondřej Hošek c0e3429904 Implement ldap_modify_batch. 2014-01-22 18:54:11 +01:00
Anatol Belski 0eff7176de fixed test 2014-01-22 15:39:49 +01:00
Anatol Belski 34792280bc fix zts 2014-01-22 12:03:54 +01:00
Anatol Belski 7bcf01f39a fixed missing usleep() prototype in pgsql 2014-01-22 11:52:52 +01:00
Yasuo Ohgaki 58f94345a7 Fixed previous commit may delete unwanted cookies. Sync tests from upper branches. 2014-01-22 19:21:25 +09:00
Yasuo Ohgaki a27e51fd4e Re-fixed bug #66469 2014-01-22 13:40:58 +09:00
Stanislav Malyshev 1bc16fbfcd fix CVE ref for bug #66060 2014-01-21 13:26:56 -08:00
Stanislav Malyshev ac6bd1e346 5.4.26 next 2014-01-21 12:13:42 -08:00
Stanislav Malyshev 2de24f182c fix news 2014-01-21 12:11:59 -08:00
Anatol Belski fb721cefe7 fixed post deactivate signature in ext\libxml 2014-01-21 17:08:59 +01:00
Johannes Schlüter 5c964fb332 fix NEWS formatting 2014-01-21 16:35:51 +01:00
Johannes Schlüter 2311ba7d3f Fix bug #66283 (Segmentation fault after memory_limit)
There are situations where mysqlnd dupliates zvals while freeing result
sets. If the memory_limit is reached during this operation the engine
will bailout. This patch makes sure that a later attempt (during
RSHIUTDOWN) won't cause a double free, instead we rely on the engine to
free emalloc()ed memory after bailout.
2014-01-21 16:28:30 +01:00
Ferenc Kovacs 2bd68bf039 fix these tests so they properly clean up after themselves. 2014-01-20 18:04:35 +01:00
Will Fitch b2606f669a Update NEWS for bug fix #62479 2014-01-19 13:12:06 -05:00
Will Fitch 8aa93b7f2c Revert "Fix #62479: Some chars not parsed in passwords"
This reverts commit e6bb90c66a.
2014-01-19 13:02:20 -05:00
Yasuo Ohgaki e769c96a11 Enable zend.multibyte tests. Tipcal configuration works, but most tests fail. 2014-01-19 13:29:45 +09:00
Will Fitch da83b513b2 Fix #62479: Some chars not parsed in passwords
This fixes an issue where backslashes and spaces aren't
correctly parsed for passwords.
2014-01-18 19:27:40 -05:00
Will Fitch e6bb90c66a Fix #62479: Some chars not parsed in passwords
This fixes an issue where backslashes and spaces aren't
correctly parsed for passwords.
2014-01-18 19:27:00 -05:00
Will Fitch 5b906ce6eb Fix bug #66509: copy() arginfo incorrect since 5.4
Since 5.4, the ZEND_BEGIN_ARG_INFO_EX was replaced
by non _EX, causing Reflection to assume the
$context parameter is required.
2014-01-18 11:25:53 -05:00
Anatol Belski a218a8b917 forked the test for bug #66481 2014-01-17 03:30:42 +01:00
Xinchen Hui b777248ded Re-fixed Bug #66481 (Calls to session_name() segfault when session.name is null) 2014-01-16 14:41:12 +08:00
Xinchen Hui 271053ad47 Revert "Bug #66481 Segfaults on session_name()"
This reverts commit 5662ffb295.
2014-01-16 14:38:35 +08:00
Xinchen Hui 57cf8eaccd Revert "Update NEWS"
This reverts commit 8f5de8ddcf.
2014-01-16 14:38:22 +08:00
Yasuo Ohgaki 8f5de8ddcf Update NEWS 2014-01-16 11:40:33 +09:00
Conor McDermottroe 5662ffb295 Bug #66481 Segfaults on session_name()
If the previous value of session.name was NULL then any call to
session_name($string) would result in a segmentation fault.

This changes the behaviour to set the value of session.name to
"PHPSESSID" if a blank value is given in php.ini or via -d on the
command line. There is already protection against setting it to NULL via
session_name() or ini_set().
2014-01-16 11:33:10 +09:00
Anatol Belski b8774519e2 fixed EOL in the test 2014-01-09 15:27:26 +01:00
Anatol Belski e927dbd1f6 added testcase from bug #65371 2014-01-09 15:23:49 +01:00
Anatol Belski 1c586d4070 one more extension for the basename test 2014-01-05 19:19:54 +01:00
Anatol Belski 3f7f72adb2 improved the fix for bug #66395
- fixed the traverse vulnerability in case like c:d:file.txt
- ensure paths containing NTFS streams are still worky
2014-01-05 19:05:04 +01:00
Nikita Popov 7e8e21df0c Fix bug #66286: Incorrect object comparison with inheritance
std_compare_objects immidiately returned 0 if the property tables
of both objects contain NULL at some index. Thus it would report
objects as equal even though properties following after that
differ.
2014-01-04 01:22:14 +01:00
Anatol Belski 46f60fae22 Fixed bug #66395 basename function doesn't remove drive letter 2014-01-03 22:25:58 +01:00
Xinchen Hui c0d060f5c0 Bump year 2014-01-03 11:04:26 +08:00
Derick Rethans dee77f237c Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2014-01-02 10:57:46 +00:00
krakjoe 3c3ff43432 fix #66375 bad logic in sapi header callback routine 2014-01-01 12:58:18 +00:00
Nikita Popov 3b6afb1bd6 Fix leak caused by fix to bug #65667
ftp->stream is now closed in the ftp resource dtor.
2013-12-30 13:53:12 +01:00
Stanislav Malyshev 8e5048f9fb 5.4.25 next 2013-12-24 22:22:04 -08:00
Anatol Belski f156e684ac removed outdated IsDebuggerPresent declaration
This piece of code seems to retain compatibility with some windows
versions before 2000. Today it's not relevant anymore and only
produces a warning C4273 because of the conflicting prototype. In
VC9 the declaration is present in winbase.h:4142, but available
is it already in winxp. Here's the doc link
http://msdn.microsoft.com/en-us/library/windows/desktop/ms680345(v=vs.85).aspx
2013-12-23 11:53:47 +01:00
krakjoe b1df00a7c9 stop warnings from unused opcode map 2013-12-22 13:00:51 +00:00
Felipe Pena c14388d63f - BFN 2013-12-22 09:43:53 -02:00
Felipe Pena a056113586 - Fixed bug #66311 (Stack smashing protection kills PDO/ODBC queries) patch by: michael at orlitzky dot com 2013-12-22 09:42:45 -02:00
Bob Weinand 97bf254385 Included new .c file in build too 2013-12-22 00:52:05 +01:00
Bob Weinand 61199be02f Moved to new file, killing a lot of warnings 2013-12-21 23:45:34 +01:00
Bob Weinand 7894e397d8 Fixed build... 2013-12-21 21:29:08 +01:00
Bob Weinand 50d50c2f04 Added an opcode to opcode name map
That way extensions etc. don't have to maintain their own lists anymore.
Also as phpdbg is included and needs such a map, it'd be counterproductive to need to change two things on every new opcode.
2013-12-21 19:22:47 +01:00
Boris Lytochkin a6fa52028f Merge branch '5.4' into PHP-5.4
* 5.4:
  keep 'em sorted
  Fixed SNMP_ERR_TOOBIG handling for bulk walk operations
2013-12-20 01:00:46 +04:00
Boris Lytochkin a7c50ccc67 keep 'em sorted 2013-12-20 00:51:59 +04:00
Boris Lytochkin bb51d0e4c0 Fixed SNMP_ERR_TOOBIG handling for bulk walk operations 2013-12-20 00:25:16 +04:00
Derick Rethans e881334e49 - Updated to version 2013.9 (2013i) 2013-12-19 18:58:44 +00:00
Remi Collet 20eb8e4d11 Fixed Bug #66321 (ZipArchive::open() ze_obj->filename_len not real) 2013-12-19 10:53:38 +01:00
Michael Wallner 3624a9ca7a Update NEWS handling section of README.GIT-RULES
See http://marc.info/?t=138124004400005&r=1&w=2
2013-12-19 10:07:46 +01:00
Anatol Belski 2303d0ea22 fixed possibly uninitialized value usage 2013-12-17 08:44:22 +01:00
Stanislav Malyshev cbcf6e1880 Fix bug #65873 - Integer overflow in exif_read_data() 2013-12-16 11:34:24 -08:00
Anatol Belski 68a73ce3c4 fixed parameter order for zend_throw_exception_ex call 2013-12-14 20:43:02 +01:00
DQNEO 1b3e2c299d Fix doc (svn -> git) 2013-12-13 23:20:37 +02:00
Julien Pauli cbc98df99e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Updated release process
2013-12-13 13:26:16 +01:00
Julien Pauli 3eb2b1ac40 Updated release process 2013-12-13 13:16:54 +01:00
Michael Wallner c59f3184a3 fix test 2013-12-12 12:08:50 +01:00
Anatol Belski 6f739318fd fix dir separator in cve-2013-6420 test 2013-12-11 13:31:29 +01:00
Stanislav Malyshev 8650bbc8dc 5.3.29-dev 2013-12-10 11:32:11 -08:00
Stanislav Malyshev c1224573c7 Fix CVE-2013-6420 - memory corruption in openssl_x509_parse 2013-12-10 11:03:49 -08:00
Adam Harvey a0955f351c 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)).
2013-12-07 19:39:40 -08:00
Anatol Belski ff89066b3d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix dir separator in cve-2013-6420 test
2013-12-11 13:32:49 +01:00
Ard Biesheuvel 8f1fee61e2 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.
2013-12-11 08:50:20 +01:00
Stanislav Malyshev b1b23abc86 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src:
  Fixed Bug #66218 zend_register_functions breaks reflection
2013-12-10 11:34:45 -08:00
Stanislav Malyshev 71daf3229b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  5.3.29-dev
  Fix CVE-2013-6420 - memory corruption in openssl_x509_parse

Conflicts:
	configure.in
	main/php_version.h
2013-12-10 11:34:35 -08:00
Remi Collet 3e963f8eb4 Fixed Bug #66218 zend_register_functions breaks reflection
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)
2013-12-10 16:07:16 +01:00
Lior Kaplan c062c18d42 Replace invalid code with a proper #error
This code creates a nasty error as mentioned in bugs #31131, #37062
Patch taken from Debian's PHP package: 044-strtod_arm_fix
2013-12-08 15:49:22 -08:00
Michael Wallner b5f5bff965 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
2013-12-06 10:29:24 +01:00
Michael Wallner 098d2a5d0f fix possibly uninitialized value 2013-12-06 10:27:33 +01:00
Andrey Hristov 86aad97979 Fix loss of precision 2013-12-04 12:06:59 +02:00
Adam Harvey d1314893fd 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).
2013-12-03 14:46:15 -08:00
Michael Wallner 22fa3fbc5f 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.
2013-12-02 17:00:13 +01:00
Michael Wallner 6408a1a59e fix bug #49634x 2013-12-02 12:10:00 +01:00
Dmitry Stogov edbefd1d5c Fixed tests 2013-12-02 11:53:35 +04:00
Dmitry Stogov 9ed605892d Fixed ability to build non-specialized GOTO VM 2013-12-02 10:59:32 +04:00
Dmitry Stogov 2d31eadbbf Added validation of class names in the autoload process 2013-11-29 12:53:02 +04:00
Derick Rethans d22cc5c816 Fixed bug #65199 (Wrong Day of Week) and fixed bug #63391 (Incorrect/inconsistent day of week prior to the year 1600) 2013-11-28 16:32:11 +00:00
Derick Rethans c1eb219aad Merge branch 'date-time-dst-rfc' into PHP-5.4
This is a partial resolve of some DST issues, plenty of things to do, but as
this *does* fix a few issues it's worth merging it already.
2013-11-28 14:26:01 +00:00
Derick Rethans aab0b2ce3b Marking those two as XFAIL for now. 2013-11-28 14:24:39 +00:00
Derick Rethans 582f6e529e Fixed a few DST changeover issues. 2013-11-28 12:02:36 +00:00
Derick Rethans 5d0c526199 Move add/sub to timelib. 2013-11-28 12:02:36 +00:00
Derick Rethans 324e6a5f82 Fix backwards transition diffs. 2013-11-28 12:02:36 +00:00
Derick Rethans aa26ace21f Split up tests into their different categories. 2013-11-28 12:02:35 +00:00
Derick Rethans 7a0df7be34 Group those tests a bit better, as some of the bd ones wanted a "ST" feature that doesn't exist yet. 2013-11-28 12:02:35 +00:00
Derick Rethans 6e8b2c91c4 Fixed forward transitions in diffs. 2013-11-28 12:02:35 +00:00
Derick Rethans 261c6b31ca Always reset those parameters. 2013-11-28 12:02:35 +00:00
Derick Rethans 44a9e6b484 Fixed "Forward Transition" construction of DateTime objects.
This fixes the issue in
https://wiki.php.net/rfc/datetime_and_daylight_saving_time#forward_transitions
There is a period during transition to DST where a time (such as 02:30) does
not exist. PHP already calculated the correct timestamp for this, but failed to
"rounded forward" to the existing correct hour value.
2013-11-28 12:02:35 +00:00
Derick Rethans fb0c2cf224 Merge branch 'bug53879' into PHP-5.4 2013-11-27 22:00:53 +00:00
Derick Rethans 23ab2575e1 Fixed bug #53879 (DateTime::createFromFormat() fails to parse cookie expiration date) 2013-11-27 21:59:46 +00:00
Dmitry Stogov 504c60dc44 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src:
  Fixed bug #66060 (Heap buffer over-read in DateInterval)
2013-11-27 14:58:54 +04:00
Dmitry Stogov 16d59aa171 Fixed bug #65969 (Chain assignment with T_LIST failure) 2013-11-27 14:26:34 +04:00
Remi Collet 12fe4e90be Fixed bug #66060 (Heap buffer over-read in DateInterval) 2013-11-27 11:13:16 +01:00
Stanislav Malyshev 63f3ff7b5f 5.4.24-dev now 2013-11-27 00:13:45 -08:00
Andrey Hristov 0aadab0e2e add test 2013-11-26 19:15:12 +02:00
Andrey Hristov 74ba88e186 Fix for Bug #66141 (mysqlnd quote function is wrong with NO_BACKSLASH_ESCAPES after failed query) 2013-11-26 19:01:49 +02:00
Andrey Hristov 1b0e6067d5 bring the news 2013-11-25 21:31:51 +02:00
Anatol Belski 345032946c fixed test 2013-11-21 21:24:47 +01:00
Andrey Hristov ce09822269 And here is the real fix for #66124 2013-11-21 21:29:21 +02:00
Andrey Hristov 4a1c9be857 Fix for Bug #66124 (mysqli under mysqlnd loses precision when bind_param with 'i') 2013-11-21 21:14:42 +02:00
Anatol Belski b902a25cc3 permanently deactivate that place, not on runtime only
besides the two "if" checks, this fixes static analyze which is sometimes
broken because of this
2013-11-20 10:09:11 +01:00
Yasuo Ohgaki 0d558afc05 Fix WS in serialization_error_002.phpt 2013-11-20 07:17:53 +09:00
Aaron Hamid 050dd59c63 added a test to cover distinction between boolean return value of unserialize function and deserializing serialized boolean 2013-11-20 07:14:53 +09:00
Jeff Welch 101c780500 Fixed tests that fail with non-default serialize_precision configurations.
See:

 * https://bugs.php.net/bug.php?id=64760
 * 4dc4302
2013-11-20 06:17:23 +09:00
Remi Collet 25c08a839a avoid doing a stream_select on a closed stream 2013-11-19 12:41:58 +01:00
Xinchen Hui 823e330c75 Fixed Bug #66094 (unregister_tick_function tries to cast a Closure to a string) 2013-11-17 17:04:37 +08:00
Adam Harvey c9cfd98bcd Update NEWS and remove the unnecessary UPGRADING note. 2013-11-10 15:46:31 -05:00
Adam Harvey 288e9c6423 Merge remote-tracking branch 'ajf/JSONWhitespaceFix' into PHP-5.4 2013-11-10 15:43:56 -05:00
Rasmus Lerdorf 064ba179b1 Fix broken test 2013-11-09 09:45:52 -08:00
Xinchen Hui cf2626f10c Fixed bug #65947 (basename is no more working after fgetcsv in certain situation)
previous codes: "#define php_mblen(ptr, len) ((ptr) == NULL ? mbsinit(&BG(mblen_state)):
(int)mbrlen(ptr, len, &BG(mblen_state)))#

it use mbsinit there, seems try to initialize the mblen_state, but:
"This function does not change the state identified by ps. Typical ways
to make the state pointed by ps an initial state are:

memset (ps,0,sizeof(*ps));  // ps points to zero-valued object
"
http://www.cplusplus.com/reference/cwchar/mbsinit/?kw=mbsinit
2013-11-08 15:32:28 +08:00
Xinchen Hui fd3fa9b53c Fixed Bug #66043 (Segfault calling bind_param() on mysqli)
Although the doc said it is (unsigned int *), but it is ulong* in the
libmysql 5.0 's source codes
2013-11-08 15:06:36 +08:00
Rasmus Lerdorf 224dc52ea9 NEWS entry 2013-11-07 18:15:15 -08:00
Rasmus Lerdorf 890ea8411f Fix bug #65946 - pdo_sql_parser.c permanently converts values bound to strings 2013-11-07 18:05:08 -08:00
Rasmus Lerdorf 8cb128159d 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
  ...
2013-11-07 07:55:26 -08:00
Sara Golemon 8b6b39fdcf Add a couple more test cases to parse_url() tests
http://::# (valid but silly)
http://#   (invalid)
2013-11-06 10:32:11 +01:00
ptarjan 290becb1f1 fix missing change from 'tcp_socket' to the more common 'server' 2013-11-06 10:32:00 +01:00
ptarjan 9c1e1bbc05 fix many parallel test issues
While running these on HHVM I've run into a lot of parallelism issues.
I'm backporting all the fixes I had to do in
https://github.com/facebook/hiphop-php/blob/master/hphp/tools/import_zend_test.py#L650
to php core.

Most of these changes were just filenames that were shared between
tests, but I did more surgery on the fixed ports. I can apreciate port
31337 as much as the next nerd, but random ports are better for tests.
2013-11-06 10:31:47 +01:00
Christopher Jones c439ac6c35 Cleanup temp test file 2013-11-06 10:31:35 +01:00
Xinchen Hui e3d9e18e7b Fixed Bug #66034 (Segmentation Fault when constructor of PDO statement throws an exception)
I know zend_call_function will initilize retval_ptr_ptr, but still set
it to NULL explict is more readable
2013-11-05 11:04:55 +08:00
Xinchen Hui 2b7e89e20a Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-11-05 11:03:47 +08:00
Lior Kaplan d3fd163d27 Typo fix: umknown -> unknown 2013-10-31 23:12:41 +02:00
Rasmus Lerdorf b4bed6fde0 Fix bug #66008 2013-10-31 03:06:35 -07:00
Stanislav Malyshev 4ded6ee971 5.4.23-dev 2013-10-29 18:11:02 -07:00
Yasuo Ohgaki 0d89265a69 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src:
  add bundled libzip LICENSE, as required by BSD License terms
2013-10-29 17:38:22 +09:00
Yasuo Ohgaki 16a9fec889 Update NEWS 2013-10-29 17:27:49 +09:00
Yasuo Ohgaki 4dc4302a30 Fixed Bug 64760 var_export() does not use full precision for floating-point numbers 2013-10-29 17:24:23 +09:00
Remi Collet e2c9f3983a add bundled libzip LICENSE, as required by BSD License terms 2013-10-29 09:02:24 +01:00
Yasuo Ohgaki 69808d698c Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src:
  - Updated to version 2013.8 (2013h)
  Fixed bug #65950 Field name truncation if the field name is bigger than 32 characters
  - Updated to version 2013.7 (2013g)
2013-10-29 14:03:17 +09:00
Derick Rethans ab6481993e - Updated to version 2013.8 (2013h) 2013-10-28 15:12:30 +01:00
Derick Rethans 7a526f01b5 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-10-28 15:08:57 +01:00
Xinchen Hui 9b399be778 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-10-27 16:53:05 +08:00
Xinchen Hui e18e7a5983 remove "PHP 6" staff 2013-10-27 16:52:43 +08:00
Yasuo Ohgaki e50eb1ce34 Fixed bug #65950 Field name truncation if the field name is bigger than 32 characters 2013-10-26 10:31:21 +09:00
Derick Rethans 9cb3a759a7 - Updated to version 2013.7 (2013g) 2013-10-23 22:33:53 +01:00
Yasuo Ohgaki 1f5b1cfb2b Fix Coverity issue reporting wrong sizeof() 2013-10-22 12:27:18 +09:00
Yasuo Ohgaki 2cf5614f5f Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src: (101 commits)
  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
  fix memory leak on error (from Coverity scan)
  Fix coverity issue with -1 returned by findOffset not being handled by getPreferredTag
  5.4.21 release date
  When src->src is null this doesn't get initialized but it is still used, so the passed in *ze will point to unitialized memory. Hopefully src->src is never null, but just in case this initialization doesn't hurt.
  Fix typo
  Clean up this weird safe_emalloc() call
  Minor Coverity tweaks
  - Moved NULL check before dereferencing
  - Fixed possible NULL ptr dereference
  - Fixed possible uninitialized scalar variable usage (spotted by Coverity)
  Remove senseless check here
  - Fix extern declaration according to definition
  - Fix possible memory leak
  - Moved allocation to if block to make Coverity happy
  - Fixed possible memory leak
  Fix unitialized opened_path here - found by Coverity
  ...
2013-10-22 12:23:07 +09:00
Michael Wallner 5cc797d119 exif NEWS 2013-10-21 22:44:37 +02:00
Michael Wallner 2fa5f39e4c add tests for bug #62523 2013-10-21 22:15:09 +02:00
Michael Wallner 1b43f95040 Merged PR #293 (Exif crash on unknown encoding was fixed)
By:
	Draal
Conflicts:
	configure.in
	main/php_version.h
2013-10-21 21:48:27 +02:00
Michael Wallner 2ecf94e07e Just SKIP that test on travis 2013-10-21 12:16:41 +02:00
Stanislav Malyshev f860486de5 fix memory leak on error (from Coverity scan) 2013-10-21 00:01:24 -07:00
Stanislav Malyshev 297324146e Fix coverity issue with -1 returned by findOffset not being handled by getPreferredTag 2013-10-20 23:04:16 -07:00
Stanislav Malyshev 27ebcb8d0e 5.4.21 release date 2013-10-20 23:04:16 -07:00
Rasmus Lerdorf 2186e1583d When src->src is null this doesn't get initialized
but it is still used, so the passed in *ze will point
to unitialized memory. Hopefully src->src is never
null, but just in case this initialization doesn't hurt.
2013-10-20 22:15:35 -07:00
Rasmus Lerdorf 18cc5386de Fix typo 2013-10-20 17:55:55 -07:00
Rasmus Lerdorf 8f4a6d6e1b Clean up this weird safe_emalloc() call 2013-10-20 09:36:50 -07:00
Rasmus Lerdorf 1494298231 Minor Coverity tweaks 2013-10-20 08:55:48 -07:00
Felipe Pena 9976b5cd7f - Moved NULL check before dereferencing 2013-10-20 09:50:11 -02:00
Felipe Pena 52555a7894 - Fixed possible NULL ptr dereference 2013-10-20 09:04:24 -02:00
Felipe Pena b6feabc8c6 Merge branch 'PHP-5.4' of git.php.net:/php-src into PHP-5.4 2013-10-20 08:52:31 -02:00
Felipe Pena 33d377e701 - Fixed possible uninitialized scalar variable usage (spotted by Coverity) 2013-10-20 08:51:09 -02:00
Rasmus Lerdorf fb38fdc7fd Remove senseless check here 2013-10-19 20:55:02 -07:00
Felipe Pena a1daebefda - Fix extern declaration according to definition 2013-10-20 01:16:07 -02:00
Felipe Pena 420068c6e1 - Fix possible memory leak 2013-10-20 01:04:55 -02:00
Felipe Pena 85a622e42f - Moved allocation to if block to make Coverity happy 2013-10-19 23:36:28 -03:00
Felipe Pena aa4f9b322b - Fixed possible memory leak 2013-10-19 23:29:34 -03:00
Rasmus Lerdorf 2be67ca457 Fix unitialized opened_path here - found by Coverity 2013-10-19 19:24:17 -07:00
Rasmus Lerdorf 813e867652 Initialize these to make Coverity happy 2013-10-19 17:37:59 -07:00
Lior Kaplan a55d3b9295 Typo fix: managment -> management 2013-10-19 23:53:23 +03:00
Lior Kaplan df501fd464 Use minus sign instead of hyphen 2013-10-19 23:52:43 +03:00
Rasmus Lerdorf 6919d15a2e Merge branch 'pull-request/499'
Fix RFC 6598 IPv4 Reserved Range Checks
2013-10-19 00:42:53 -07:00
Michael Wallner 1fe1f7305b use $YACC instead of 'bison' as suggested by Yasuo
Conflicts:
	Zend/acinclude.m4
2013-10-19 13:27:24 +08:00
bwoebi 4c0bb6d76e Fixed bug #65911 ($this not usable as static property)
In context of static accesses like classname::$this, the string
"$this" should not be handled like a $this variable, but as an
identifier for a static variable.
2013-10-16 18:33:14 +02:00
Andrea Faulds 872ef919ca UPGRADING and NEWS 2013-10-15 22:44:23 +00:00
Andrea Faulds 29e755ac66 Merge branch 'PHP-5.4' into JSONWhitespaceFix 2013-10-15 22:38:46 +00:00
Andrea Faulds 8495d63034 Better test: Check combined leading/trailing 2013-10-15 20:42:31 +00:00
Anatol Belski b0a36007ab fix whitespaces 2013-10-14 17:12:32 +02:00
Anatol Belski 9ccde8a415 added notes about the PECL site conformity 2013-10-14 16:07:26 +02:00
Anatol Belski 7a038ccbe6 fixed skeleton to produce the normalized ext version macros
See http://news.php.net/php.pecl.dev/11191 for more info.
2013-10-14 14:18:43 +02:00
Felipe Pena 960b4e81f3 - Fixed possible memory leak 2013-10-12 18:06:20 -03:00
Christopher Jones 9fbfdb3396 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Daniel Lowrey (1) and Michael Wallner (1)
# Via Michael Wallner
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  C89 compatibility
  Fixed segfault when built with OpenSSL >= 1.0.1
2013-10-09 09:40:54 -07:00
Michael Wallner 22700890d4 C89 compatibility 2013-10-09 12:30:31 +02:00
Daniel Lowrey b026993a74 Fixed segfault when built with OpenSSL >= 1.0.1
(PR #481)
2013-10-09 09:17:25 +02:00
ArunSK b5a0f12871 fixing a minor typo in CODING_STANDARDS document 2013-10-07 00:26:49 +02:00
Stanley Sufficool 63f242178d FIX BUG #65219 - Typo correction 2013-10-05 20:59:20 -07:00
Stanley Sufficool d74b9cfee5 Merge branch 'PHP-5.4' of https://git.php.net/push/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/push/php-src:
  - Fixed bug #65818 (Segfault with built-in webserver and chunked transfer encoding)
  - BFN
  Fix bug #65667: ftp_nb_continue produces segfault
  fix bug #64146 (serialize incorrectly saving objects when they are cloned)
  such a weird hack probably helps in finding regressions in the future
  Fixed bug #64230 (XMLReader does not suppress errors)
  typo: really fix bug #51936 	Crash with clone xmlreader
  fix bug #59613 (Crash with clone XMLReader)
  fix bug #65808 	the socket_connect() won't work with IPv6 address
  5.4.22-dev now
  fix bug #62396 'make test' crashes starting with 5.3.14 (missing gzencode())
  Fixed bug #61548
  fix test
  fix memleak on resetting rebind_proc
  Fix bug #65322: compile time errors won't trigger auto loading
  5.4.20 release date
  Add information about which INI file is which inside respective files
  - Updated to version 2013.6 (2013f)
2013-10-05 09:57:13 -07:00
Stanley Sufficool 690bbe170d FIX BUG #65219 - USE DB not being sent for FreeTDS version < 0.92
FreeTDS <0.92 does not support DBSETLDBNAME option and therefore
will not work with SQL Azure. Fallback to dbuse command in
letter versions.
2013-10-05 09:54:45 -07:00
Felipe Pena 3aaee86ee3 - Fixed bug #65818 (Segfault with built-in webserver and chunked transfer encoding) 2013-10-05 12:52:55 -03:00
Felipe Pena 248afd1c3c - BFN 2013-10-05 12:52:32 -03:00
Christopher Jones 6a823071f9 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Fix bug #65667: ftp_nb_continue produces segfault
  fix bug #64146 (serialize incorrectly saving objects when they are cloned)
  such a weird hack probably helps in finding regressions in the future
2013-10-04 10:50:53 -07:00
Philip Hofstetter 96cc419924 Fix bug #65667: ftp_nb_continue produces segfault
the idea behind ftp_nb_get is for it to be followed by multiple calls
to ftp_nb_continue in order to download a file piece-by-piece.

As such, it's unwise to close the stream used to write the downloaded
data to when the file hasn't been completely downloaded within the first
call to ftp_nb_get.

This regression was added in a93a462dce
and this patch restores the behavior that was seen pre-patch.
2013-10-04 17:25:46 +02:00
Michael Wallner 8973390541 fix bug #64146 (serialize incorrectly saving objects when they are
cloned)
2013-10-04 16:16:15 +02:00
Michael Wallner e8ae795529 such a weird hack probably helps in finding regressions in the future 2013-10-04 16:11:49 +02:00
Christopher Jones 76d2d474be Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Fixed bug #64230 (XMLReader does not suppress errors)
2013-10-04 05:40:30 -07:00
Michael Wallner f6ff3a28d6 Fixed bug #64230 (XMLReader does not suppress errors) 2013-10-04 11:22:17 +02:00
Christopher Jones 545363cce0 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  typo: really fix bug #51936 	Crash with clone xmlreader
  fix bug #59613 (Crash with clone XMLReader)
  fix bug #65808 	the socket_connect() won't work with IPv6 address
2013-10-03 05:40:24 -07:00
Michael Wallner dc3d360a0f typo: really fix bug #51936 Crash with clone xmlreader 2013-10-03 13:34:31 +02:00
Michael Wallner fc3f8a8f54 fix bug #59613 (Crash with clone XMLReader) 2013-10-03 13:28:41 +02:00
Michael Wallner 9209c19f8f fix bug #65808 the socket_connect() won't work with IPv6 address 2013-10-02 15:19:25 +02:00
Christopher Jones dbe2d7745f Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  5.4.22-dev now
  fix bug #62396 'make test' crashes starting with 5.3.14 (missing gzencode())
2013-10-02 05:40:33 -07:00
Stanislav Malyshev b2f8f35a88 5.4.22-dev now 2013-10-01 22:25:56 -07:00
Christopher Jones 33fd0e0b78 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Michael Wallner
# Via Michael Wallner
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  fix bug #62396 'make test' crashes starting with 5.3.14 (missing gzencode())
  Fixed bug #61548
2013-10-01 10:19:24 -07:00
Michael Wallner cd1cab3f47 fix bug #62396 'make test' crashes starting with 5.3.14
(missing gzencode())
2013-10-01 17:01:03 +02:00
Christopher Jones 930946005e Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Fixed bug #61548
2013-10-01 05:40:24 -07:00
Michael Wallner 18b04b480e Fixed bug #61548 2013-10-01 11:07:55 +02:00
Christopher Jones 679bf479b6 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Michael Wallner (2) and others
# Via Michael Wallner
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  fix test
  fix memleak on resetting rebind_proc
  Fix bug #65322: compile time errors won't trigger auto loading
  5.4.20 release date
2013-09-30 15:54:34 -07:00
Michael Wallner 2b78edfba2 fix test 2013-09-30 11:41:35 +02:00
Michael Wallner e9e63f9223 fix memleak on resetting rebind_proc 2013-09-30 11:23:33 +02:00
Nikita Popov f0c926564c Fix bug #65322: compile time errors won't trigger auto loading
Also fixes duplicate bugs #54054 and #42098.

Furthermore this fixes incorrect error messages thrown from code
running inside an error handler when a compilation is in progress.
The error file and line are now correctly associated with the
file/line of the executor, rather than the compiler.
2013-09-29 17:58:25 +02:00
Stanislav Malyshev d143c2b60f 5.4.20 release date 2013-09-28 18:04:44 -07:00
Christopher Jones 7e35004e39 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Derick Rethans (1) and others
# Via Lior Kaplan (1) and Stanley Sufficool (1)
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Add information about which INI file is which inside respective files
  - Updated to version 2013.6 (2013f)
  FIX BUG #48539 - Disable TEXTLIMIT for FreeTDS driver
2013-09-27 15:57:04 -07:00
Ondřej Surý 0ad0a2f56e Add information about which INI file is which inside respective files 2013-09-27 17:46:14 +02:00
Derick Rethans 7a1a1aec8c - Updated to version 2013.6 (2013f) 2013-09-27 10:14:46 +01:00
Stanley Sufficool ac05cfb499 FIX BUG #48539 - Disable TEXTLIMIT for FreeTDS driver 2013-09-26 19:53:47 -07:00
Stanley Sufficool 9aa904c375 Merge branch 'PHP-5.4' of https://git.php.net/push/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/push/php-src: (140 commits)
  Copy dba_*() keys before converting to string.
  Fix the broken sh syntax in ext/imap/config.m4.
  Revert "EmptyIterator now implements Countable; fixes bug 60577"
  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
  NEWS for added reserved ip addresses according to RFC 6598
  Add RFC 6598 IPs to reserved addresses
  NEWS for #60577
  NEWS for bug #64441
  Fix bug #64441 (FILTER_VALIDATE_URL rejects fully qualified domain names)
  EmptyIterator now implements Countable; fixes bug 60577
  News for bugfix #64157
  Bug 64157 Changed error message to make sense
  Tinker with the wording of the short_open_tag description.
  Handle CLI server request headers case insensitively.
  5.4.21 now
  Typo....
  Add a XFAIL test for #64896
  Fixed Bug #65564 stack-buffer-overflow in DateTimeZone stuff caught by AddressSanitizer
  Fixed bug #60598 (cli/apache sapi segfault on objects manipulation)
  ...
2013-09-26 19:52:01 -07:00
Christopher Jones b4b4372c88 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Adam Harvey
# Via Adam Harvey
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Copy dba_*() keys before converting to string.
2013-09-26 09:57:30 -07:00
Adam Harvey 30e0442c54 Copy dba_*() keys before converting to string.
A nice Sunday afternoon project for somebody would be to refactor the dba
functions to use zend_parse_parameters() reliably and try to untangle some of
the macros in dba.c. Sadly, it is not a nice Sunday afternoon here.

Fixes bug #65708 (dba functions cast $key param to string in-place, bypassing
copy on write).
2013-09-22 16:46:17 -07:00
Christopher Jones 34fc79bd61 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Adam Harvey
# Via Adam Harvey
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Fix the broken sh syntax in ext/imap/config.m4.
2013-09-20 17:09:47 -07:00
Adam Harvey cc66eaa04b Fix the broken sh syntax in ext/imap/config.m4.
Patch by ryotakatsuki at gmail dot com. Fixes bug #65721 (configure script
broken in 5.5.4 and 5.4.20 when enabling imap).
2013-09-20 14:15:19 -07:00
Christopher Jones d5ba2d8a99 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By David Soria Parra (6) and others
# Via David Soria Parra
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Revert "EmptyIterator now implements Countable; fixes bug 60577"
  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
  NEWS for added reserved ip addresses according to RFC 6598
  Add RFC 6598 IPs to reserved addresses
  NEWS for #60577
  NEWS for bug #64441
  Fix bug #64441 (FILTER_VALIDATE_URL rejects fully qualified domain names)
  EmptyIterator now implements Countable; fixes bug 60577
  News for bugfix #64157
  Bug 64157 Changed error message to make sense
2013-09-18 19:49:30 -07:00
David Soria Parra 7a24ee13ec Revert "EmptyIterator now implements Countable; fixes bug 60577"
This reverts commit 8a936e8eb9.
2013-09-18 15:06:36 +02:00
David Soria Parra 7e9044b6a2 RFC 6598 reserved ip range starts at 100.64.0.0 2013-09-18 14:27:58 +02:00
Michael Wallner 9bfd55cda3 fix a very rare case of use of uninitialized value combined with a
memleak
2013-09-18 11:10:55 +02:00
Andrea Faulds 2524428504 Fixed whitespace part of bug #64874 ("json_decode handles whitespace and case-sensitivity incorrectly") 2013-09-17 19:09:52 +00:00
David Soria Parra dfd7d1063a NEWS for added reserved ip addresses according to RFC 6598 2013-09-17 09:54:58 +02:00
Sebastian Nohn 7c279df6ae Add RFC 6598 IPs to reserved addresses
(cherry picked from commit b3f5b822e9f83d99d7cb5eed36ba8d307d1408ee)
2013-09-17 09:52:53 +02:00
David Soria Parra 6a0b90da84 NEWS for #60577 2013-09-16 16:23:29 +02:00
David Soria Parra 1939d9e3db NEWS for bug #64441 2013-09-16 16:21:35 +02:00
Alex Bobrov 18b54a2366 Fix bug #64441 (FILTER_VALIDATE_URL rejects fully qualified domain names)
(cherry picked from commit c149d4ee4be81ecf005eafd43ede06e70aa4c985)
2013-09-16 05:23:52 +02:00
Levi Morrison 8a936e8eb9 EmptyIterator now implements Countable; fixes bug 60577
(cherry picked from commit 6398844c86bee08abe4ee3f206ecd86ad0a498f9)
2013-09-16 04:04:53 +02:00
David Soria Parra c0afe829e3 News for bugfix #64157 2013-09-16 04:04:51 +02:00
Boro Sitnikovski a475b2c1db Bug 64157
Changed error message to make sense
2013-09-16 03:42:49 +02:00
Christopher Jones 7bb8cbcdee Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Adam Harvey
# Via Adam Harvey
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Tinker with the wording of the short_open_tag description.
  Handle CLI server request headers case insensitively.
2013-09-13 14:10:50 -07:00
Adam Harvey 160cd8d0a7 Tinker with the wording of the short_open_tag description.
I'm still not thrilled with this, but it's a bit better and addresses the
issues noted in bug #65644. Plus, it now mentions the decoupling of <?=.
2013-09-09 16:56:57 -07:00
Adam Harvey 3c3b2b5bdc Handle CLI server request headers case insensitively.
Fixes bug #65633 (built-in server treat some http headers as case-sensitive).
2013-09-09 16:24:49 -07:00
Stanislav Malyshev 7beef74a82 5.4.21 now 2013-09-03 13:38:15 -07:00
Xinchen Hui 6c48c6bc78 Typo.... 2013-09-02 16:15:52 +08:00
Xinchen Hui ed038d2ee3 Add a XFAIL test for #64896 2013-09-02 16:02:24 +08:00
Christopher Jones bfb1fe10cb Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Fixed Bug #65564 stack-buffer-overflow in DateTimeZone stuff caught by AddressSanitizer
  Fixed bug #60598 (cli/apache sapi segfault on objects manipulation)
2013-08-30 05:40:24 -07:00
Remi Collet d69513afec Fixed Bug #65564 stack-buffer-overflow in DateTimeZone stuff caught by AddressSanitizer 2013-08-30 10:42:08 +02:00
Xinchen Hui 7da6498342 Fixed bug #60598 (cli/apache sapi segfault on objects manipulation) 2013-08-30 11:20:24 +08:00
Christopher Jones 5bff1286b6 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien)
  Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien)
  Avoid compiler warning
  Fix bug #65579 (Using traits with get_class_methods causes segfault).
2013-08-29 05:40:23 -07:00
Dmitry Stogov dfc6feb6e8 Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien) 2013-08-29 11:16:56 +04:00
Dmitry Stogov 15694f66b2 Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien) 2013-08-29 11:12:06 +04:00
Xinchen Hui 747daa5354 Avoid compiler warning 2013-08-29 14:02:15 +08:00
Adam Harvey 72027cd084 Fix bug #65579 (Using traits with get_class_methods causes segfault).
Specifically, this checks if there are trait aliases defined in the class scope
before attempting to dereference the first trait alias. This handles the case
where a trait alias was used in a child trait but no aliases exist in the
concrete class.
2013-08-28 20:33:42 -07:00
Christopher Jones 1fdcc705a4 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  updated lib versions
2013-08-28 11:14:29 -07:00
Anatol Belski 3745bdadc0 updated lib versions 2013-08-28 14:43:00 +02:00
gron1987 e6424d89e9 Fix bug #65554 in DateTime, when use it with D/l in format and textual day have dot at the end 2013-08-25 15:09:29 -07:00
Alexander Moskalev b378b0b081 Fix DateInterval->days value when object was created not from DateTime::diff() 2013-08-24 23:38:33 -07:00
root e22c139fe0 Test extension xmlrpc encode type double and string decode type string and int 2013-08-24 21:44:50 -07:00
Ole Markus With 6b8dade6dc Stricter libc-client symlink check 2013-08-24 21:40:26 -07:00
Michael M Slusarz 3f9af558e7 Fix #65483: quoted-printable encode stream filter incorrectly encoding spaces 2013-08-24 19:45:54 -07:00
Christopher Jones 768c34e7cd Update NEWS 2013-08-23 08:13:59 -07:00
Christopher Jones 5ab6d215fc Remove duplicate calls to set filename & lineno for the DTRACE_FUNCTION_ENTRY/RETURN cases 2013-08-23 13:27:42 +02:00
Christopher Jones 7109f369e8 Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type" 2013-08-22 09:05:52 -07:00
Christopher Jones f2ceb4963e Revert "Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type""
This reverts commit f38bd22ed2.
2013-08-22 08:58:24 -07:00
Matteo Beccati d5987478a8 Fixed other compiler warnings 2013-08-22 15:33:54 +02:00
Christopher Jones 54d4a28003 Suppress compiler warning "warning: variable ‘length’ set but not used [-Wunused-but-set-variable]" 2013-08-21 15:39:14 -07:00
Christopher Jones 1af111dd68 Suppress compiler warning "warning: variable ‘retcount’ set but not used [-Wunused-but-set-variable]" 2013-08-21 15:37:02 -07:00
Christopher Jones d0bede2efa Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type"
2013-08-21 15:23:48 -07:00
Christopher Jones f38bd22ed2 Suppress compliation warning "warning: passing argument 1 of ‘_efree’ discards qualifiers from pointer target type" 2013-08-21 15:06:23 -07:00
Michael Wallner d8023d13eb Fix pointer sign warning showing up in EVERY build 2013-08-21 19:17:22 +02:00
Matteo Beccati 540f325664 Fixed compiler warnings in ext/pgsql 2013-08-21 11:24:12 +02:00
Matteo Beccati 696852f2bd Fixed other compiler warnings in PDO_PGSQL 2013-08-21 11:22:33 +02:00
Matteo Beccati 5c06e5c2e0 Fixed compiler warning
I moved the constant to the enum in order to avoid this:
ext/pgsql/pgsql.c:3491: warning: comparison is always false due to limited range of data type

Works in gcc 4.6, but I'm not sure about other compilers.
2013-08-21 11:22:32 +02:00
Christopher Jones e9b12bedc3 Quash compile warning "warning: 'flags' may be used uninitialized in this function" 2013-08-20 13:36:18 -07:00
Christopher Jones 9c9fee3f43 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Fix bug #64953 (Postgres prepared statement positional parameter casting)
2013-08-20 11:26:49 -07:00
Christopher Jones d82f9339fe Eliminate compiler warnings: "warning: pointer targets in initialization differ in signedness" 2013-08-20 10:41:29 -07:00
Christopher Jones eba85f91d8 Eliminate compiler warnings "warning: pointer targets in initialization differ in signedness" 2013-08-20 10:41:01 -07:00
Christopher Jones b455ba971c Remove some compilation warnings:
'unused variable' and
  'enumeration value not handled in switch'
2013-08-20 10:33:00 -07:00
Michael Wallner 27c803aaed Fix bug #64953 (Postgres prepared statement positional parameter casting) 2013-08-20 19:19:02 +02:00
Christopher Jones 72d1ec883e Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  bump version
2013-08-20 05:40:19 -07:00
Yasuo Ohgaki 9789df7764 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src:
  bump version
  Update NEWS
  fix bug #65481 (shutdown segfault due to serialize)
  Track created curl_slist structs by option so they can be updated in situ.
  Fixed bug #64503 (Compilation fails with error: conflicting types for 'zendparse').
  added new glob() test
  fix using wrong buffer pointer
  Fix bug #65470	Segmentation fault in zend_error() with --enable-dtrace
  Fix for php bug #64802 includes test case
  new for fix #65225
  Fixed #65225: PHP_BINARY incorrectly set
  Use pkg-config to detect iodbc
  Add -P option to use the current binary
  Create test to the extension xmlrpc
  Fixbug: phpize --clean will delete include/*.h
2013-08-20 17:48:47 +09:00
Stanislav Malyshev d487f5e9ac bump version 2013-08-19 23:19:51 -07:00
Christopher Jones dc384a571d Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Update NEWS
  fix bug #65481 (shutdown segfault due to serialize)
  Track created curl_slist structs by option so they can be updated in situ.
  Fixed bug #64503 (Compilation fails with error: conflicting types for 'zendparse').
2013-08-19 17:55:25 -07:00
Christopher Jones c60067c09a Update NEWS 2013-08-19 17:14:15 -07:00
Michael Wallner 1ac4d8f2c6 fix bug #65481 (shutdown segfault due to serialize) 2013-08-20 00:05:11 +02:00
Adam Harvey aa7d3d8e6d Track created curl_slist structs by option so they can be updated in situ.
At present, when curl_setopt() is called with an option that requires the
creation of a curl_slist, we simply push the new curl_slist onto a list to be
freed when the curl handle is freed. This avoids a memory leak, but means that
repeated calls to curl_setopt() on the same handle with the same option wastes
previously allocated memory on curl_slist structs that will no longer be read.

This commit changes the zend_llist that was previously used to track the lists
to a HashTable keyed by the option number, which means that we can simply
update the hash table each time curl_setopt() is called.

Fixes bug #65458 (curl memory leak).
2013-08-19 12:01:04 -07:00
Xinchen Hui a4862503d4 Fixed bug #64503 (Compilation fails with error: conflicting types for 'zendparse'). 2013-08-19 11:18:51 -07:00
Christopher Jones 32873cd0dd Merge branch 'PHP-5.3' of https://git.php.net/repository/php-src into PHP-5.3
* 'PHP-5.3' of https://git.php.net/repository/php-src:
  fix using wrong buffer pointer
2013-08-19 10:53:41 -07:00
Christopher Jones 71c24f4c2e Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  added new glob() test
  fix using wrong buffer pointer
  Fix bug #65470	Segmentation fault in zend_error() with --enable-dtrace
  Fix for php bug #64802 includes test case
  new for fix #65225
  Fixed #65225: PHP_BINARY incorrectly set
  Use pkg-config to detect iodbc
  Add -P option to use the current binary
  Create test to the extension xmlrpc
  Fixbug: phpize --clean will delete include/*.h
2013-08-19 10:53:41 -07:00
Anatol Belski 4bad49e3bc added new glob() test 2013-08-19 11:17:13 +02:00
Stanislav Malyshev cf96aa155e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix using wrong buffer pointer
2013-08-19 01:03:18 -07:00
Stanislav Malyshev c1c49d6e39 fix using wrong buffer pointer 2013-08-19 01:02:12 -07:00
Stanislav Malyshev 14f5732096 Fix bug #65470 Segmentation fault in zend_error() with --enable-dtrace 2013-08-18 17:22:25 -07:00
Mark Jones 9973658a44 Fix for php bug #64802 includes test case 2013-08-18 15:42:37 -07:00
Stanislav Malyshev 0154db1c5f new for fix #65225 2013-08-18 14:20:17 -07:00
Patrick Allaert 98d29d20a1 Fixed #65225: PHP_BINARY incorrectly set 2013-08-18 14:18:33 -07:00
Ole Markus With a3fa25e857 Use pkg-config to detect iodbc 2013-08-18 14:16:17 -07:00
Stanislav Malyshev 3da2fb335d Add -P option to use the current binary 2013-08-18 14:08:03 -07:00
root ac2d2b9b72 Create test to the extension xmlrpc 2013-08-18 13:59:39 -07:00
Tianfeng 4a0e87e497 Fixbug: phpize --clean will delete include/*.h 2013-08-18 13:52:20 -07:00
Christopher Jones cb539b3e96 Update NEWS 2013-08-16 11:13:27 -07:00
Christopher Jones 6993ca5bd7 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  fix cve number
2013-08-16 11:07:25 -07:00
Christopher Jones 0ebef462ce With --enable-dtrace, the correct PIC/non-PIC .o files on Solaris and
Linux are now used.  DTrace is part of Oracle Linux.  See
https://oss.oracle.com/projects/DTrace/

This patch does not change DTrace linking for non-Solaris/Linux
platforms.

For SystemTap users on Linux, this patch removes the compilation
warning:
  Warning: Linking the shared library libphp5.la against the
  non-libtool objects Zend/zend_dtrace.d.o is not portable!
2013-08-16 10:40:50 -07:00
Stanislav Malyshev 060fadca31 fix cve number 2013-08-16 10:20:32 -07:00
Christopher Jones ba30c78d5c Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Fixed #65431 in zend_exception.c by Sixd
2013-08-14 21:32:07 -07:00
Xinchen Hui 8280393828 Fixed #65431 in zend_exception.c by Sixd 2013-08-15 11:47:44 +08:00
Christopher Jones 9ad97cd489 Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings. 2013-08-14 20:36:50 -07:00
Christopher Jones 9d62807190 Skip test if SKIP_ONLINE_TESTS set 2013-08-14 15:45:06 -07:00
Stanislav Malyshev 7f69f07fc1 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix CVE-2013-4073 - handling of certs with null bytes
2013-08-13 22:24:29 -07:00
Stanislav Malyshev dcea4ec698 Fix CVE-2013-4073 - handling of certs with null bytes 2013-08-13 22:24:11 -07:00
Stanislav Malyshev 2874696a5a Fix CVE-2013-4073 - handling of certs with null bytes 2013-08-13 22:20:33 -07:00
Xinchen Hui f4dc2240a0 Fixed #65431 (Discarded qualifiers from pointer target warnings when using --enable-dtrace) by Sixd 2013-08-14 11:42:39 +08:00
Anatol Belski 72aacbf735 removed unused vars 2013-08-12 15:52:15 +02:00
Anatol Belski 4134ebec8e fixed strndup usage in the pgsql ext 2013-08-12 15:44:47 +02:00
Stanislav Malyshev cf39c3d638 ensure notices are not ignored when tests need them 2013-08-10 23:12:04 -07:00
Michael Heimpold 36b759d1dd Fix #61345: fix install of CGI binary
When CLI was not built but only CGI binary, then a sequence of

$ ./buildconf
$ ./configure  --prefix=/usr/local/phpcgi --disable-cli
$ make -j8
$ sudo rm -rf /usr/local/phpcgi
$ sudo make install

results in the following error:

/bin/bash /srv/smb/php-src.test/libtool --silent --preserve-dup-deps --mode=install cp ext/opcache/opcache.la /srv/smb/php-src.test/modules
Installing shared extensions:     /usr/local/phpcgi/lib/php/extensions/no-debug-non-zts-20121212/
Installing PHP CGI binary:        /usr/local/phpcgi/bin/
cp: cannot create regular file `/usr/local/phpcgi/bin/#INST@28245#': No such file or directory
make: *** [install-cgi] Fehler 1

The solution is to create the binary directory before copying the
CGI binary as e.g. CLI does.

Signed-off-by: Oliver Metz <oliver.metz@gmx.de>

[extensive commit message]

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
2013-08-10 17:35:09 -07:00
Jan Ehrhardt 503d39d925 php.ini-development/production: remove php_zip.dll
Remove the reference to php_zip.dll in php.ini-production and
php.ini-development, because php_zip.dll does not exist anymore since
PHP 5.3
2013-08-10 17:31:40 -07:00
Yasuo Ohgaki bff1a96a0f Update NEWS 2013-08-11 07:15:01 +09:00
Yasuo Ohgaki 0ad81ac18a Fixed possible buffer overflow under Windows. Note: Not a security fix. 2013-08-11 06:43:01 +09:00
Yasuo Ohgaki e9b128c1bf Fixed Bug #62015 Changed session.auto_start to PHP_INI_PERDIR. It is simply wrong and never worked if the value is changed at runtime 2013-08-10 18:29:13 +09:00
Michael Wallner ac28283beb fix bug #65391
Unable to send vary header user-agent when
ob_start('ob_gzhandler') is called
2013-08-09 11:14:04 +02:00
Yasuo Ohgaki fc7fe62e3b Update NEWS 2013-08-09 11:19:56 +09:00
Andrey Hristov a188693a27 Merge branch 'PHP-5.4' of ssh://git.php.net/php-src into PHP-5.4 2013-08-08 14:04:19 +02:00
Andrey Hristov 80fe5461a9 Merge branch 'PHP-5.3' into PHP-5.4 2013-08-08 14:03:00 +02:00
Christopher Jones 4ed133c4e2 Remove tabs on blanklines in Makefile sources. This prevents a
'suspicious line' warning when editing & saving Makefile using Emacs.
2013-08-07 13:14:00 -07:00
Christopher Jones 2743c3aac8 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Xinchen Hui
# Via Xinchen Hui
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Re-fix Bug #65372 (Segfault in gc_zval_possible_root when return reference fails)
2013-08-06 10:01:41 -07:00
Xinchen Hui a831499b4a Re-fix Bug #65372 (Segfault in gc_zval_possible_root when return reference fails)
Missed a zval_copy_ctor there
2013-08-06 15:37:20 +08:00
Christopher Jones 47d66a0b4e NEWS for recent DTrace merges.
Remove redundant 'cp' during DTrace install.
2013-08-05 15:38:36 -07:00
Christopher Jones 3bbe5931bc Fixed bug #62691 (solaris sed has no -i switch)
Make 'make distclean' remove generated DTrace .h file
2013-08-05 15:18:12 -07:00
David Soria Parra a5c524f1be Enable dtrace probes on linux as they are compatible with systemtap
You can build php with dtrace probes enabled on linux if you have
systemtap with uprobes.
2013-08-05 15:07:04 -07:00
Remi Collet 3c5e229212 Fixed bug #63706: Cannot build PHP-5.5 with --enable-dtrace on Fedora 17 2013-08-05 14:52:12 -07:00
Christopher Jones ec4019e8f6 Add an empty make command for DTrace .d files to stop an implicit
circular dependency in GNU Make which causes .d files to be
overwritten (Bug 61268)
2013-08-05 14:21:06 -07:00
Kalle Sommer Nielsen cabf38af6d Merge branch 'PHP-5.4' 2013-08-05 17:23:00 +02:00
Yasuo Ohgaki f718684a6c Fixed bug #62978. pg_select()/etc may allow SQL injection when table name is user parameter, users are able to control table names. 2013-08-05 18:23:15 +09:00
Andreas Streichardt a93a462dce First fixes for a 64bit compatible ftp extension 2013-08-04 19:31:30 -07:00
Veres Lajos 8d86597d73 non living code related typo fixes 2013-08-04 16:05:36 -07:00
Stanislav Malyshev 5f137d080a fix typo 2013-08-04 16:02:27 -07:00
Rasmus Lerdorf a03f0943ca We shouldn't load any local ini files for these tests 2013-08-02 16:23:18 -04:00
Rasmus Lerdorf d60e168a7a pcre_quote? No such thing. How did this ever pass? 2013-08-02 16:12:21 -04:00
Rasmus Lerdorf ea75b1b5db This test needs local infile enabled 2013-08-02 15:33:18 -04:00
Rasmus Lerdorf e55f08a5ae This test will only work if gc is enabled 2013-08-02 12:00:48 -04:00
Rasmus Lerdorf 5753b74fab Make sure test.php isn't coming in from the include_path 2013-08-02 11:47:12 -04:00
Xinchen Hui ce9169e360 Fixed bug Bug #65372 (Segfault in gc_zval_possible_root when return reference fails) 2013-08-02 18:37:15 +08:00
Yasuo Ohgaki cb13f8318b Add user contributed test. Bug #61748 2013-08-02 09:52:08 +09:00
Christopher Jones 4590070f31 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Improved fix for bug #44686 (SOAP-ERROR: Parsing WSDL)
  Fixed bug #65018 (SoapHeader problems with SoapServer)
  MFH: fixed #65045: mb_convert_encoding breaks well-formed character.
2013-07-31 09:01:54 -07:00
Dmitry Stogov 4395f70207 Improved fix for bug #44686 (SOAP-ERROR: Parsing WSDL) 2013-07-31 17:36:06 +04:00
Dmitry Stogov fd8f454520 Fixed bug #65018 (SoapHeader problems with SoapServer) 2013-07-31 16:32:26 +04:00
Rui Hirokawa 0a974f14d1 MFH: fixed #65045: mb_convert_encoding breaks well-formed character. 2013-07-31 08:46:54 +09:00
Yasuo Ohgaki 1d7b6970f2 Fixed bug #65336 2013-07-27 05:54:09 +09:00
Christopher Jones fd616ba50f Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
2013-07-25 10:57:46 -07:00
Christopher Jones 29b2522df1 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Upper section name
  Fixed bug #65328 (Segfault when getting SplStack object Value)
2013-07-25 10:42:43 -07:00
Christopher Jones 979194351d Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Xinchen Hui (2) and others
# Via Stanislav Malyshev (1) and Xinchen Hui (1)
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Upper section name
  Fixed bug #65328 (Segfault when getting SplStack object Value)
  Fix compiler warning on redefined constant
  fixed bug #65311 testsuite failure due to incomplete fix to bug28985.phpt
  fix bug #65028 	Phar::buildFromDirectory creates corrupt archives for some specific contents
2013-07-25 08:53:26 -07:00
Xinchen Hui 515092917d Upper section name 2013-07-25 22:45:15 +08:00
Xinchen Hui 9909c4d4c4 Fixed bug #65328 (Segfault when getting SplStack object Value) 2013-07-25 22:43:41 +08:00
Stanislav Malyshev 96a53f6715 Merge branch 'bug65028' into PHP-5.4
* bug65028:
  fix bug #65028 	Phar::buildFromDirectory creates corrupt archives for some specific contents
2013-07-23 21:44:06 -07:00
Johannes Schlüter c28ab73d73 Fix compiler warning on redefined constant 2013-07-23 12:50:37 +02:00
Anatol Belski 9b6aa268a3 fixed bug #65311 testsuite failure due to incomplete fix to bug28985.phpt 2013-07-23 09:59:08 +02:00
Christopher Jones a1bf38e075 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Anatol Belski (8) and others
# Via Anatol Belski (2) and others
* 'PHP-5.4' of https://git.php.net/repository/php-src: (44 commits)
  fixed possible null deref
  - addressed bug #65159, Misleading configure help text for --with-mysql-sock
  Update news for FILTER_SANITIZE_FULL_SPECIAL_CHARS fix
  Wrong value for FILTER_SANITIZE_FULL_SPECIAL_CHARS in REGISTER_LONG_CONSTANT
  Fixed bug #65304 (Use of max int in array_sum)
  Reorder NEWS
  Fixed bug #65291 - get_defined_constants() crash with __CLASS__ in trait
  Fixed bug #65291 - get_defined_constants() crash with __CLASS__ in trait
  Properly fixed bug #63186 on NetBSD == 6.0
  Improve php.ini-* documentation
  5.4.19 is next
  Fixed bug #50308 - session id not appended properly for empty anchor tags
  Fix bug #62129 - rfc1867 crashes php even though turned off
  add news for xml fix
  fix TS build
  added sapi check for dl() test
  Make zval2myslqnd implementations aware of inheritance
  Fixed typo ensuring header str is \0 terminated
  fix buffer overrun
  fix invalid variable name at ext/spl/internal/multipleiterator.inc (key() method, too)
  ...
2013-07-22 10:58:57 -07:00
Christopher Jones 7c9bb87edd Merge branch 'PHP-5.3' of https://git.php.net/repository/php-src into PHP-5.3
# By Johannes Schlüter
# Via Christopher Jones (1) and Johannes Schlüter (1)
* 'PHP-5.3' of https://git.php.net/repository/php-src:
  Merge PHP 5.3.27 NEWS
  add test for bug #65236
2013-07-22 10:58:52 -07:00
Anatol Belski 25f924abf6 fixed possible null deref 2013-07-22 14:50:18 +02:00
Stanislav Malyshev f8efdc2b4b fix bug #65028 Phar::buildFromDirectory creates corrupt archives for some specific contents 2013-07-22 00:57:33 -07:00
Yoshinari Takaoka 1b4103c09d - addressed bug #65159, Misleading configure help text for --with-mysql-sock 2013-07-21 23:12:54 -07:00
Stanislav Malyshev ba984582db Update news for FILTER_SANITIZE_FULL_SPECIAL_CHARS fix 2013-07-21 22:28:02 -07:00
Andrey da3886de6d Wrong value for FILTER_SANITIZE_FULL_SPECIAL_CHARS in REGISTER_LONG_CONSTANT 2013-07-21 22:25:21 -07:00
Xinchen Hui 3380de9774 Fixed bug #65304 (Use of max int in array_sum) 2013-07-21 21:07:19 +08:00
Xinchen Hui cc91fbe986 Reorder NEWS 2013-07-21 15:58:10 +08:00
Arpad Ray b963249456 Fixed bug #65291 - get_defined_constants() crash with __CLASS__ in trait
Also fix and test for get_defined_constants(true)
2013-07-20 11:05:13 +01:00
Arpad Ray a015fa83a7 Fixed bug #65291 - get_defined_constants() crash with __CLASS__ in trait 2013-07-19 19:19:48 +01:00
Matteo Beccati 2b9d42433f Properly fixed bug #63186 on NetBSD == 6.0 2013-07-19 09:37:39 +02:00
Yasuo Ohgaki 445dffa75a Improve php.ini-* documentation 2013-07-18 14:08:28 +09:00
Stanislav Malyshev b9e3f737d9 5.4.19 is next 2013-07-17 13:51:15 -07:00
Arpad Ray e6ae977082 Fixed bug #50308 - session id not appended properly for empty anchor tags
The issue was actually because a lack of space before a "/" marking the tag
as empty. This was being swallowed in the rule for unquoted values. Fixed
by making that rule exclude quotes (as per spec anyway).
2013-07-17 16:07:26 +01:00
Arpad Ray ba3234888d Fix bug #62129 - rfc1867 crashes php even though turned off
Patch by gxd305 at gmail dot com
2013-07-17 11:02:48 +01:00
Stanislav Malyshev eb8c15b573 add news for xml fix 2013-07-16 15:38:37 -07:00
Anatol Belski bb6d74918e fix TS build 2013-07-16 18:05:14 +02:00
Anatol Belski 135f81c5ae added sapi check for dl() test 2013-07-16 15:42:38 +02:00
Johannes Schlüter d3a4af4db8 Make zval2myslqnd implementations aware of inheritance 2013-07-16 13:52:57 +02:00
Anatol Belski bcb39d9c6a Fixed typo ensuring header str is \0 terminated
This was obviously intended to send an empty header if
php_gmtime_r() fails. Currently it could send garbage.
2013-07-16 00:14:05 +02:00
Anatol Belski 9561e598a0 fix buffer overrun 2013-07-15 17:34:36 +02:00
sasezaki e617679c0b fix invalid variable name at ext/spl/internal/multipleiterator.inc (key() method, too) 2013-07-15 00:36:29 -07:00
kazusuke sasezaki 76775a3aa7 fix invalid variable name at ext/spl/internal/multipleiterator.inc 2013-07-15 00:36:19 -07:00
Veres Lajos 2c73ce4363 revert false fix 2013-07-15 00:23:17 -07:00
Veres Lajos e9a95d78ef typo fixes 2013-07-15 00:23:03 -07:00
Veres Lajos b79b13b4ef less serious compatAbility fixes 2013-07-15 00:21:39 -07:00
Veres Lajos bb64106f64 typos (orig) 2013-07-15 00:20:49 -07:00
Stanislav Malyshev 2bad01e61b Fix bug #62665: add curl.cainfo to php.ini
Conflicts:

	php.ini-development
	php.ini-production
2013-07-14 23:56:03 -07:00
Stanislav Malyshev a51b50000d add news for bug #65219 2013-07-14 17:07:06 -07:00
Lior Kaplan f4b9b20b35 Add built-in web server to invocation list 2013-07-14 17:00:56 -07:00
Lior Kaplan bcef0ebc2d Terminology: change embedded web server to built-in web server to align with cli usage 2013-07-14 16:42:23 -07:00
Lior Kaplan 07501dc1a2 Align -B and -E parameter names with cli usage (begin_code and end_code) 2013-07-14 16:42:09 -07:00
Anatol Belski 6e3134610c Merge branch 'PHP-5.4' of https://github.com/php/php-src into PHP-5.4 2013-07-14 20:48:26 +02:00
Anatol Belski add0833681 fix uninitialized memory usage 2013-07-14 20:44:29 +02:00
Stanley Sufficool 67c03eac62 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
2013-07-14 11:18:11 -07:00
Stanley Sufficool d012bdca03 Fix Bug #65219
DBSETLDBNAME should be called before login to set DBNAME in login record
2013-07-14 11:16:42 -07:00
Stanley Sufficool 6e32a871a4 Merge branch 'PHP-5.3' of https://git.php.net/push/php-src into PHP-5.3
* 'PHP-5.3' of https://git.php.net/push/php-src: (23 commits)
  Merge PHP 5.3.27 NEWS
  add test for bug #65236
  truncate results at depth of 255 to prevent corruption
  fix assembly of safe_address() for x86 and x86_64
  Add bison 2.6.4 to the list of supported versions
  Update git rules (5.5 is stable, 5.3 sec only)
  This will be PHP 5.3.28
  Fixed bug #63186 (compile failure on netbsd)
  ensure the error_reporting level to get expected notice
  fixed tests
  missing tests for bug #53437
  missing colon
  Backported the fix for bug #53437
  Fixed test script
  Fixed bug #64997 (Segfault while using RecursiveIteratorIterator on 64-bits systems)
  Fixed bug #64966 (segfault in zend_do_fcall_common_helper_SPEC)
  Fixed bug #64934 Apache2 TS crash with get_browser()
  Add NEWS for PHP 5.3.26
  Fixed bug #64960 (Segfault in gc_zval_possible_root)
  fix CVE-2013-2110 - use correct formula to calculate string size
  ...
2013-07-14 11:10:36 -07:00
Xinchen Hui ebad5178c4 Fixed bug #65254 (Exception not catchable when exception thrown in autoload with a namespace). 2013-07-14 11:47:06 +08:00
Felipe Pena eab076020d - BFN 2013-07-13 17:55:50 -03:00
Felipe Pena 0863a0d6a0 - Bug #65228 (FTPs memory leak) patch by: marco dot beierer at mbsecurity dot ch 2013-07-13 17:54:31 -03:00
Felipe Pena 281936b295 - Fixed bug #65227 (Memory leak in gmp_cmp second parameter) 2013-07-12 20:23:00 -03:00
Yasuo Ohgaki 0ddb3d97de Fixed meta data retrieve when OID is larger than 2^31 2013-07-13 06:06:23 +09:00
Stanislav Malyshev d2a83efe5b fix the date for 5.4.17 2013-07-12 10:57:59 -07:00
Stanislav Malyshev b2fbb4cc40 update 5.4.17 date 2013-07-12 10:55:24 -07:00
Stanislav Malyshev 5b01b0904f update 5.4.17 date 2013-07-12 10:53:23 -07:00
Anatol Belski 2acc386270 Fixed bug #65226 chroot() does not get enabled 2013-07-11 00:48:12 +02:00
Christopher Jones 96f77f845a Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Merge PHP 5.3.27 NEWS
  add test for bug #65236
  fix possible resource leak and make sure there's something to qsort()
  - Updated to version 2013.4 (2013d)
2013-07-10 11:13:18 -07:00
Christopher Jones e2e002d4ea Merge branch 'PHP-5.3' of https://git.php.net/repository/php-src into PHP-5.3
* 'PHP-5.3' of https://git.php.net/repository/php-src:
  Merge PHP 5.3.27 NEWS
  add test for bug #65236
2013-07-10 11:13:15 -07:00
Johannes Schlüter 4c6c048e3e Merge branch 'PHP-5.3' into PHP-5.4 2013-07-10 19:46:37 +02:00
Johannes Schlüter 9c4ef50146 Merge PHP 5.3.27 NEWS 2013-07-10 19:45:45 +02:00
Johannes Schlüter 4204e2cb5b Merge branch 'PHP-5.3' into PHP-5.4 2013-07-10 19:36:12 +02:00
Johannes Schlüter 710eee5555 add test for bug #65236 2013-07-10 19:35:18 +02:00
Anatol Belski 29ac511b8a fix possible resource leak and make sure there's something to qsort() 2013-07-10 13:00:47 +02:00
Derick Rethans c7ee677f2f - Updated to version 2013.4 (2013d) 2013-07-09 09:07:16 +01:00
Christopher Jones 79df8cf9c2 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Fixed segfault in mysqlnd when doing long prepare
2013-07-08 13:30:54 -07:00
Andrey Hristov 2c3f6dcdb6 Merge branch 'PHP-5.4' of ssh://git.php.net/php-src into PHP-5.4
Conflicts:
	NEWS
2013-07-08 20:28:51 +02:00
Andrey Hristov 9fc38183b7 Fixed segfault in mysqlnd when doing long prepare 2013-07-08 20:23:32 +02:00
Rob Richards e4a28b7b7b Merge branch 'PHP-5.3' into PHP-5.4
# By Rob Richards (1)
* PHP-5.3:
  truncate results at depth of 255 to prevent corruption
2013-07-06 07:59:20 -04:00
Rob Richards 7d163e8a08 truncate results at depth of 255 to prevent corruption 2013-07-06 07:53:07 -04:00
Nuno Lopes e964817b24 fix assembly of safe_address() for x86 and x86_64 2013-07-03 18:02:28 -04:00
Nuno Lopes c652cc93ec fix assembly of safe_address() for x86 and x86_64 2013-07-03 17:56:02 -04:00
Felipe Pena 7549beb102 - Fixed build on FreeTDS 0.82 2013-07-03 15:02:03 -03:00
Johannes Schlüter 5bc7e597d9 Make sure return value is initialised in case transaction startup fails 2013-07-03 17:08:14 +02:00
Johannes Schlüter 0265c2d961 Make sure result is initilized
Practically this could only be an issue when overriding mysqlnd from
an extension, but makes static analysis happy
2013-07-03 16:53:09 +02:00
Sebastian Bergmann 74d434c091 Merge branch 'PHP-5.3' into PHP-5.4 2013-07-03 06:37:04 +02:00
Sebastian Bergmann 50ac53e1b1 Add bison 2.6.4 to the list of supported versions 2013-07-03 06:36:54 +02:00
Remi Collet 67817a199c fix typo in php man page 2013-07-02 12:19:09 +02:00
Remi Collet f4ce5e7fb6 Fixed Bug #65142 Missing phar man page
Simple man page from phar help output.
2013-07-02 10:46:50 +02:00
Remi Collet 4bc11af193 NEWS 2013-07-02 10:46:21 +02:00
Remi Collet c940aab789 Fixed Bug #65143 Missing php-cgi man page
Currently php-cgi man page is a simple redirect to
php (CLI) man page.

Could be splited / improved in the future.
2013-07-02 10:42:47 +02:00
Anatol Belski 743c4864eb Fixed mysql tests parsing phpinfo() 2013-07-02 08:23:33 +02:00
Christopher Jones 06418aca28 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Stanislav Malyshev (3) and others
# Via Stanislav Malyshev (1) and Yasuo Ohgaki (1)
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Update NEWS
  Fixed bug #35703: when session_name("123") consist only digits, should warning
  Fixed bug #49175: mod_files.sh does not support hash bits
  add fix for  #60560 into upgrading
  Add a __wakeup() method to SplFixedArray, thereby fixing serialising an
  small optimization
  fix bug #61860: use USearch for searches, it does the right thing
2013-07-01 13:45:41 -07:00
Yasuo Ohgaki 46214a23b8 Update NEWS 2013-06-29 11:38:23 +09:00
Yasuo Ohgaki 87dda666c7 Fixed bug #35703: when session_name("123") consist only digits, should warning 2013-06-29 11:35:55 +09:00
Yasuo Ohgaki ef63334fa6 Fixed bug #49175: mod_files.sh does not support hash bits 2013-06-29 11:35:55 +09:00
Stanislav Malyshev 103cf4c060 add fix for #60560 into upgrading 2013-06-28 14:01:25 -07:00
Stanislav Malyshev e46beabe8f Merge branch 'bug61860' into PHP-5.4
* bug61860:
  small optimization
  fix bug #61860: use USearch for searches, it does the right thing
2013-06-28 13:54:57 -07:00
Adam Harvey 3becd3879f Add a __wakeup() method to SplFixedArray, thereby fixing serialising an
SplFixedArray object and bug #60560 (SplFixedArray un-/serialize, getSize(),
count() return 0, keys are strings).
2013-06-28 13:50:33 -07:00
Christopher Jones 8cb782bbce Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Felipe Pena (9) and others
# Via Arpad Ray (1) and Felipe Pena (1)
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  Update NEWS
  Fix bug #62535 - $_SESSION[$key]["cancel_upload"] doesn't work as documented
  Fixed bug #65136 (RecursiveDirectoryIterator segfault)
  - BFN
  - Fixed bug #64467 (Segmentation fault after imap_reopen failure) patch by: askalski at gmail dot com
  - Reclassify bug
  - BFN
  - Fixed bug #63983 (enabling FPM borks compile on FreeBSD) patch by: chibisuke at web dot de
  - Fixed bug #63409 (php-dba function test fails on big-endian machine) patch by: tianhonglouis at gmail dot com
  - Fixed test
  add new test
  Update NEWS
  Fixed bug #65015 (pg_send_query does not flush send buffer) patch submitted by: adam at vektah dot net
  - BFN
  - Fixed bug #62475 (variant_* functions causes crash when null given as an argument)
2013-06-27 16:48:25 -07:00
Arpad Ray e00ed6bc3f Update NEWS 2013-06-27 19:23:58 +01:00
Arpad Ray ce8c023910 Fix bug #62535 - $_SESSION[$key]["cancel_upload"] doesn't work as documented
When uploading multiple files, the array in the session where the progress
data is stored (and cancel_upload key is set) was overwritten whenever the
progress data was updated, so pending uploads would proceed anyway.
2013-06-27 19:05:23 +01:00
Xinchen Hui fa8611c81e Fixed bug #65136 (RecursiveDirectoryIterator segfault) 2013-06-27 12:37:57 +08:00
Felipe Pena 76866e0a2e - BFN 2013-06-26 19:16:13 -03:00
Felipe Pena 60dcc5851f - Fixed bug #64467 (Segmentation fault after imap_reopen failure) patch by: askalski at gmail dot com 2013-06-26 19:15:19 -03:00
Felipe Pena 02682f4169 - Reclassify bug 2013-06-26 15:15:37 -03:00
Felipe Pena 891bd46f3d - BFN 2013-06-26 15:08:33 -03:00
Felipe Pena cd176e0452 - Fixed bug #63983 (enabling FPM borks compile on FreeBSD) patch by: chibisuke at web dot de 2013-06-26 15:06:27 -03:00
Felipe Pena 7e33b5d2fa - Fixed bug #63409 (php-dba function test fails on big-endian machine) patch by: tianhonglouis at gmail dot com 2013-06-26 13:50:37 -03:00
Felipe Pena f477ad22c2 - Fixed test 2013-06-26 13:36:36 -03:00
Andrey Hristov b34e8d2e3e add new test 2013-06-26 16:44:26 +02:00
Yasuo Ohgaki 8922c50ca4 Update NEWS 2013-06-26 16:31:34 +09:00
Yasuo Ohgaki 6c8cef3ca4 Fixed bug #65015 (pg_send_query does not flush send buffer) patch submitted by: adam at vektah dot net 2013-06-26 16:17:57 +09:00
Felipe Pena 12b75e3d3e - BFN 2013-06-25 21:43:23 -03:00
Felipe Pena e15ca39708 Merge branch 'PHP-5.4' of git.php.net:/php-src into PHP-5.4 2013-06-25 21:39:17 -03:00
Felipe Pena 4289696828 - Fixed bug #62475 (variant_* functions causes crash when null given as an argument) 2013-06-25 21:36:50 -03:00
Christopher Jones 12fdf8fb95 Update NEWS 2013-06-25 17:30:21 -07:00
Christopher Jones 111b385afe Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
# By Felipe Pena
# Via Felipe Pena
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  - BFN
  - Fixed bug #62672 (Error on serialize of ArrayObject) patch by: lior dot k at zend dot com
  - BFN
  - Fixed bug #62964 (Possible XSS on "Registered stream filters" info) patch by: david at nnucomputerwhiz dot com
2013-06-25 17:28:11 -07:00
Felipe Pena a689fde2bf - BFN 2013-06-25 21:19:56 -03:00
Felipe Pena 04db57066d - Fixed bug #62672 (Error on serialize of ArrayObject) patch by: lior dot k at zend dot com 2013-06-25 21:18:09 -03:00
Felipe Pena 40c3601947 - BFN 2013-06-25 18:04:25 -03:00
Felipe Pena 2ab53f4b5e Merge branch 'PHP-5.4' of git.php.net:/php-src into PHP-5.4 2013-06-25 18:01:46 -03:00
Felipe Pena 41b73e4cee - Fixed bug #62964 (Possible XSS on "Registered stream filters" info) patch by: david at nnucomputerwhiz dot com 2013-06-25 18:00:33 -03:00
Christopher Jones 5d0094e5f9 Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/repository/php-src:
  - BFN
  - Fixed bug #60732 (php_error_docref links to invalid pages) patch by: Jakub Vrana
2013-06-25 13:23:25 -07:00
Felipe Pena 5ae1983b33 - BFN 2013-06-25 16:27:30 -03:00
Felipe Pena 6ba93a4bae - Fixed bug #60732 (php_error_docref links to invalid pages) patch by: Jakub Vrana 2013-06-25 16:26:26 -03:00
Christopher Jones a52258ae17 Merge branch 'configure12c' into PHP-5.4
* configure12c:
  Minium changes to allow PDO_OCI to build with Oracle Database 12c libraries. (note OCI8 already builds with Oracle Database 12c)
2013-06-25 12:00:08 -07:00
Christopher Jones 423b132a7a Minium changes to allow PDO_OCI to build with Oracle Database 12c libraries.
(note OCI8 already builds with Oracle Database 12c)
2013-06-25 11:55:41 -07:00
Xinchen Hui 38eb909d06 Fixed Bug #61828 (Memleak when calling Directory(Recursive)Iterator/Spl(Temp)FileObject ctor twice) 2013-06-25 13:38:27 +08:00
Felipe Pena 982c11573d - Fixed bug #61594 (ext/session/mod_mm.c: missing free of ps_mm_instance) patch by: jlawall at hotmail dot com 2013-06-24 16:49:15 -03:00
Felipe Pena d43a2f0ffb - BFN 2013-06-24 14:50:14 -03:00
Felipe Pena 8776555d7a - Fixed bug #61387 (NULL valued anonymous column causes segfault in odbc_fetch_array) patch by: Brandon Kirsch 2013-06-24 14:43:35 -03:00
Xinchen Hui 9cf3e65391 Fixed bug (is_callable() triggers Fatal Error)
This bug is also exists in 5.4, and previous fix by dsp is not complete
for __callStatic stituation, see test script
2013-06-24 23:45:08 +08:00
Stanislav Malyshev e3d625bc4e small optimization 2013-06-23 23:52:28 -07:00
Stanislav Malyshev a0d48e01ed seems to be working fine for me on 32-bit 2013-06-23 23:36:43 -07:00
Stanislav Malyshev 8aba119f55 fix bug #61860: use USearch for searches, it does the right thing 2013-06-23 23:24:12 -07:00
Stanislav Malyshev 860a5c4b01 Fix bug #62759: Buggy grapheme_substr() on edge case 2013-06-23 21:26:16 -07:00
Damjan Cvetko a0b4348abc Implements feature Bug #63472 ability to set SO_BINDTODEVICE on socket. 2013-06-23 15:20:54 -07:00
Marco Pivetta f1e37d03c1 Adding test to verify that __sleep can handle parent classes' private members 2013-06-23 13:53:46 -07:00
Marco Pivetta 61fb822d1a Adding test to stabelize keys used when converting objects to arrays 2013-06-23 13:53:37 -07:00
Adam Harvey 2531307be6 Fix bug #65088 (Generated configure script is malformed on OpenBSD).
We fell foul of a "common urban legend"[0], which resulted in us backslash
escaping double quotes that we didn't need to in acinclude.m4. This worked fine
on most shells, but OpenBSD's ksh implementation really didn't like it.

[0] http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Shell-Substitutions.html
2013-06-23 11:02:00 -07:00
Ard Biesheuvel 8623562b02 Fix non-specialized executor build
Removed a couple of calls to FREE_OP2() that were left behind in
the handlers for break and continue opcodes after commit 7628da98
2013-06-21 11:25:23 +02:00
Adam Harvey f5c7fe9202 Fix the spelling of the php_cli_server_http_response_status_code_pair typedef.
Specifically: php_cli_server_http_reponse_status_code_pair →
php_cli_server_http_response_status_code_pair.
2013-06-20 09:34:21 -07:00
Adam Harvey 283f56af66 Change the search in get_status_string() to correctly handle unknown codes.
This previously used a buggy implementation of binary search that would loop
infinitely for unknown codes when searching in reason arrays of particular
sizes (such as the one we have at the moment). Since C provides bsearch(),
we'll just use that instead, since libc authors hopefully get this right.

There was also an additional bug that was masked by the first one: the design
was that an unknown code would result in get_status_string() returning NULL,
which would then result in a segfault in append_http_status_line(), since it
assumed that it would always receive a valid string pointer that could be
handed off to smart_str_appends_ex(). We'll now return a placeholder in that
case.

Fixes bug #65066 (Cli server not responsive when responding with 422 http
status code).
2013-06-20 09:31:57 -07:00
Johannes Schlüter b5978e239e Merge branch 'PHP-5.3' into PHP-5.4 2013-06-20 11:52:29 +02:00
Johannes Schlüter e4ee921b7e Update git rules (5.5 is stable, 5.3 sec only) 2013-06-20 11:51:21 +02:00
Remi Collet 9be591bdb5 skip test for bug #64936 when tokenizer not built 2013-06-20 08:42:07 +02:00
Johannes Schlüter 0e55d3a12a Merge branch 'PHP-5.3' into PHP-5.4 2013-06-19 15:09:04 +02:00
Johannes Schlüter f0eaa02f6f This will be PHP 5.3.28 2013-06-19 15:08:02 +02:00
Remi Collet 67bde2f8ac Related to bug #65047 (Test skip on client / server version)
bug46274.phpt and bug46274_2.phpt
Make query silent (when server don't know bytea_output option)

bug_49985.phpt
Make result "locale" independent
2013-06-19 12:26:21 +02:00
Matteo Beccati c666239265 Fixed bug #65047 (Test skip on client / server version) 2013-06-19 11:48:03 +02:00
Matteo Beccati 25e9aa6b0a Remove broken client version checking 2013-06-19 11:48:03 +02:00
Matteo Beccati 5edd530511 Clean up leftover file after the test 2013-06-19 11:48:03 +02:00
Stanislav Malyshev e2bb74ab4f sync NEWS 2013-06-18 23:06:20 -07:00
Stanislav Malyshev dda3f404ec 5.4.18 next 2013-06-18 22:58:11 -07:00
Xinchen Hui 2ce4bd7f2d Fix test typo 2013-06-19 11:15:52 +08:00
Stanislav Malyshev 6b896fa57f Merge branch 'pull-request/320'
* pull-request/320:
  this is test 5 not 6
  fix race condition
  more shared names that create race conditions
  change to a unique filename
  more shared filenames
  yet another shared filename
  don't share a filename to stop race conditions
  fix race condition for 2-4 and normalize names for others
  fix race condition when running tests in parallel
  clean up after test
  Fix #64572: Clean up after the test
  Fix #64572: Clean up after the test
2013-06-17 01:06:01 -07:00
Daniel Beardsley 5ac0ee30ce Tests: PDO Mysql - update for fixed getColumnMeta()
The test has always been disabled... so it's never run anyway. Oh well.
2013-06-17 00:41:21 -07:00
Antony Dovgal 95cc763a14 fix bug #48724
PDO's getColumnMeta() doesn't return native_type for BIT, TINYINT and YEAR
2013-06-17 00:27:21 -07:00
Stanislav Malyshev 248414f132 readline can output control codes 2013-06-17 00:15:31 -07:00
Hartmel 272c5edea4 Bug #55694: Update readline test to support attempted_completion_over variable 2013-06-16 23:44:44 -07:00
Hartmel ca3e0862db Bug #55694: Expose attempted_completion_over variable from readline library 2013-06-16 23:42:43 -07:00
Xinchen Hui cfb1ffb4fa Fix typo in test 2013-06-17 13:22:20 +08:00
Jefersson Nathan ebef8c4176 Identation Fixed 2013-06-16 18:13:49 -07:00
Lior Kaplan ee01af7df1 Fix bug #64764: Add status option to fpm init.d script 2013-06-16 16:54:49 -07:00
Stanislav Malyshev 2a93fd1347 news for #64166 2013-06-16 16:40:39 -07:00
Stanislav Malyshev 7bb052ee3e add more tests for bug #64166 2013-06-16 16:34:34 -07:00
Michael M Slusarz 0dc98208ee Move unsigned char declaration to top of block 2013-06-16 16:04:29 -07:00
Michael M Slusarz d9c034ee5e trailing ws 2013-06-16 16:04:24 -07:00
Michael M Slusarz b5b0a53b09 Fix #64166: quoted-printable-encode stream filter incorrectly discarding whitespace
Second attempt: need to use lookaheadto determine whether to encode ws
2013-06-16 16:04:19 -07:00
Michael M Slusarz 600d6deef9 Fix #64166: quoted-printable-encode stream filter incorrectly discarding whitespace
If trailing whitespace on a line is detected, mark the linebreak as a
soft linebreak.
2013-06-16 16:04:14 -07:00
Stanislav Malyshev 2208447d42 Fix bug #64936 - clean doc comment state at the beginning and end of the scan 2013-06-16 15:22:23 -07:00
Stanislav Malyshev 088c183639 ws fix 2013-06-16 15:22:23 -07:00
Anatol Belski b6dd1ec60d fix test
breach introduced in ac40c0b562
2013-06-17 00:09:05 +02:00
Xinchen Hui 49e57a3165 Fixed bug #63176 (Segmentation fault when instantiate 2 persistent PDO to the same db server) 2013-06-16 22:55:59 +08:00
Boris Lytochkin 7457867ba8 fix typo in test 2013-06-16 00:09:18 +04:00
Boris Lytochkin 8acfa0b3f8 Merge branch 'PHP-5.4' of https://git.php.net/push/php-src into PHP-5.4
* 'PHP-5.4' of https://git.php.net/push/php-src: (76 commits)
  Fixed bug #63186 (compile failure on netbsd)
  fix test for bug #60322
  ensure the error_reporting level to get expected notice
  fixed tests
  missing tests for bug #53437
  fix double entry
  Merge branch 'pull-request/341'
  typo fixes (argument)
  typo fixes (accommodate, parameter)
  missing colon
  Backported the fix for bug #53437
  Backported the fix for bug #53437
  Fixed bug #64988 (Class loading order affects E_STRICT warning)
  Fixed test script
  PHPTests for the DOMDocument::loadHTMLfile method. They cover - The basic behaviour - When the method receives as argument a file which doesn't exist - When the argument is an empty string - When an empty file is loaded - When a not-well formed html file is loaded
  Fix spelling and correct typo.
  Callback has to be restored in MSHUTDOWN
  Update NEWs
  Fixed bug #64997 (Segfault while using RecursiveIteratorIterator on 64-bits systems)
  Fixed merge wrongly
  ...
2013-06-16 00:03:30 +04:00
Matteo Beccati 02f552ceca Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #63186 (compile failure on netbsd)
2013-06-14 16:54:32 +02:00
Matteo Beccati 6238dd6f32 Fixed bug #63186 (compile failure on netbsd) 2013-06-14 16:51:54 +02:00
Stanislav Malyshev 10b9579395 fix test for bug #60322 2013-06-13 10:30:00 -07:00
Anatol Belski ed2690477c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  ensure the error_reporting level to get expected notice
2013-06-12 13:14:53 +02:00
Anatol Belski cd1b44c4b6 ensure the error_reporting level to get expected notice 2013-06-12 13:13:48 +02:00
Anatol Belski 1cc750493f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fixed tests
2013-06-11 12:39:28 +02:00
Anatol Belski eccc05fc44 fixed tests 2013-06-11 12:38:49 +02:00
Anatol Belski 251ec84a97 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  missing tests for bug #53437
2013-06-11 11:22:55 +02:00
Anatol Belski f16143f5ac missing tests for bug #53437 2013-06-11 11:19:57 +02:00
Stanislav Malyshev 760b7d00c3 fix double entry 2013-06-10 18:15:03 -07:00
Stanislav Malyshev ac40c0b562 Merge branch 'pull-request/341'
* pull-request/341: (23 commits)
  typofixes
2013-06-10 14:20:18 -07:00
Veres Lajos 04145dc2aa typo fixes (argument) 2013-06-10 13:36:17 -07:00
Veres Lajos ed2e84e239 typo fixes (accommodate, parameter) 2013-06-10 13:36:03 -07:00
Anatol Belski 7a1e670d76 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  missing colon
2013-06-10 19:55:06 +02:00
Anatol Belski 18403e496d missing colon 2013-06-10 19:54:29 +02:00
Anatol Belski 0f9cf35315 Backported the fix for bug #53437 2013-06-10 19:52:29 +02:00
Anatol Belski e1e07cb431 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Backported the fix for bug #53437
2013-06-10 19:49:31 +02:00
Anatol Belski 88c2dbe5fc Backported the fix for bug #53437 2013-06-10 19:48:18 +02:00
Xinchen Hui d8792d87cf Fixed bug #64988 (Class loading order affects E_STRICT warning) 2013-06-10 21:26:11 +08:00
Dmitry Stogov 53c39e2b4e Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src:
  PHPTests for the DOMDocument::loadHTMLfile method. They cover - The basic behaviour - When the method receives as argument a file which doesn't exist - When the argument is an empty string - When an empty file is loaded - When a not-well formed html file is loaded
  Fix spelling and correct typo.
2013-06-10 12:59:28 +04:00
Dmitry Stogov f68b8a5e74 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed test script
2013-06-10 12:54:54 +04:00
Dmitry Stogov f5f6404260 Fixed test script 2013-06-10 12:53:19 +04:00
Antonio Diaz Ruiz 8a8bef1b73 PHPTests for the DOMDocument::loadHTMLfile method.
They cover
- The basic behaviour
- When the method receives as argument a file which doesn't exist
- When the argument is an empty string
- When an empty file is loaded
- When a not-well formed html file is loaded

It also includes 2 auxilary files
- An empty html file
- A not well formed html file
2013-06-10 01:50:00 -07:00
Carson McDonald f4e3c7ab7c Fix spelling and correct typo. 2013-06-10 01:42:27 -07:00
Dmitry Stogov 336a8e1943 Callback has to be restored in MSHUTDOWN 2013-06-10 12:32:53 +04:00
Xinchen Hui fdd7379686 Update NEWs 2013-06-09 22:25:28 +08:00
Xinchen Hui f338510c94 Merge branch 'PHP-5.3' into PHP-5.4 2013-06-09 22:25:07 +08:00
Xinchen Hui 75c57122e3 Fixed bug #64997 (Segfault while using RecursiveIteratorIterator on 64-bits systems) 2013-06-09 22:24:48 +08:00
Xinchen Hui e14800dd46 Fixed merge wrongly 2013-06-09 14:24:05 +08:00
Xinchen Hui 3cc891bf3a Update NEWS 2013-06-09 13:39:40 +08:00
Xinchen Hui ab22fda7e5 Merge branch 'PHP-5.3' into PHP-5.4 2013-06-09 13:35:45 +08:00
Xinchen Hui e8f004d542 Fixed bug #64966 (segfault in zend_do_fcall_common_helper_SPEC) 2013-06-09 13:20:40 +08:00
Stanislav Malyshev a7e25bdd48 fix 5.4.16 date 2013-06-06 13:27:04 -07:00
Anatol Belski 4b96b8f909 updated NEWS 2013-06-06 18:52:05 +02:00
Anatol Belski 25cae37b13 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #64934 Apache2 TS crash with get_browser()
2013-06-06 18:51:32 +02:00
Anatol Belski 1aee7ad636 Fixed bug #64934 Apache2 TS crash with get_browser()
In favour of reading the browscap.ini into a true global var
only once in MINIT, the price for that is to deep copy the
any data from it.
2013-06-06 18:49:04 +02:00
Johannes Schlüter 5ee047b486 Merge branch 'PHP-5.3' into PHP-5.4 2013-06-05 16:34:54 +02:00
Johannes Schlüter ec3bcbcb5a Add NEWS for PHP 5.3.26 2013-06-05 16:34:18 +02:00
Xinchen Hui 3c93402f86 Update NEWS 2013-06-05 17:29:04 +08:00
Xinchen Hui f597f5561e Merge branch 'PHP-5.3' into PHP-5.4 2013-06-05 17:26:10 +08:00
Xinchen Hui 3c87945c95 Fixed bug #64960 (Segfault in gc_zval_possible_root) 2013-06-05 17:25:00 +08:00
Stanislav Malyshev efdeec3c0e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix CVE-2013-2110 - use correct formula to calculate string size
2013-06-04 21:58:44 -07:00
Stanislav Malyshev 93e0d78ec6 fix CVE-2013-2110 - use correct formula to calculate string size 2013-06-04 21:56:33 -07:00
Stanislav Malyshev 90bb28726b news for dblib fixes 2013-06-03 21:54:50 -07:00
Stanley Sufficool 5a04ab9a54 Fix PDO_DBLIB bugs: #64338, #64808, #63638
Synchronize with master
2013-06-03 20:02:08 -07:00
Matteo Beccati 7360f0f1e6 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Clean up leftover test files
2013-06-02 13:39:19 +02:00
Matteo Beccati 2463e89794 Clean up leftover test files 2013-06-02 13:38:43 +02:00
Matteo Beccati a98359b7b9 Improved test portability so that it doesn't fail with pdo_pgsql 2013-06-02 13:32:48 +02:00
Nikita Popov cbf90b1a90 Fix PDO::inTransaction() test for pgsql
inTransaction() nowadays casts the in_transaction result to boolean.
I'm not sure whether the INERROR state should result in true or false.
For now I went with the result that we actually get.
2013-06-02 13:28:30 +02:00
Matteo Beccati 51c065f611 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #64609 (pg_convert enum type support)
2013-06-02 06:33:54 +02:00
Matteo Beccati 25aae37229 Fixed bug #64609 (pg_convert enum type support) 2013-06-02 06:29:35 +02:00
Matteo Beccati de42833115 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62857 (bytea test failures)
2013-06-01 23:22:50 +02:00
Matteo Beccati 79803bebde Fixed bug #62857 (bytea test failures)
Postgres 9.1+ test fixes. Tests were failing due to the default
standard_conforming_strings GUC being changed to on. Also the
pg_escape_bytea test was encoding the data before estabilishing
a connection, thus falling back to the old escaping type which
isn't properly handled by the backend when using a default
configuration.

I haven't updated the NEWS file as it's just test fixes.
2013-06-01 23:15:48 +02:00
Matteo Beccati a3b5b42e77 Merge branch 'PHP-5.3' into PHP-5.4 2013-05-31 16:26:54 +02:00
Matteo Beccati 598e2690b8 Merge branch 'pull-request/309' into PHP-5.3 2013-05-31 16:26:38 +02:00
Matteo Beccati bf4a034e3e NEWS 2013-05-31 16:26:06 +02:00
Matteo Beccati 510498947e Slightly edited tests and fix for bug #62024 2013-05-31 16:19:58 +02:00
Matheus Degiovani df6ca450ce Fixed bug #62024 (unable to run consecutive prepared querys with null values)
Credits to james@kenjim.com for the patch.
2013-05-31 14:30:57 +02:00
Matheus Degiovani 65d233f06c Fixed bug #64037 (wrong value returned when using a negative numeric field equal to the scale) 2013-05-31 14:30:51 +02:00
Remi Collet 0c9f11758f NEWS 2013-05-31 08:45:09 +02:00
Remi Collet 2dd67abb7d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed Bug #64949 (Buffer overflow in _pdo_pgsql_error)
2013-05-31 08:44:33 +02:00
Remi Collet 1c623e3b07 Fixed Bug #64949 (Buffer overflow in _pdo_pgsql_error)
There is a lot of call such as:
	pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, "Copy command failed");
Where the 3rd paramater is a error message string where a sqlstate (5 chars)
is expected. This cause a segfault in copy_from.phpt and copy_to.phpt.

This is only a sanity check to avoid buffer overflow, but obviously this
calls need to be fixed (using NULL or a correct sqlstate).
2013-05-31 08:39:32 +02:00
Dmitry Stogov 8b515fa00a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed incorrect argument number

Conflicts:
	Zend/zend_compile.c
2013-05-29 11:12:43 +04:00
Dmitry Stogov 13e5c97ffd Fixed incorrect argument number 2013-05-29 11:09:55 +04:00
Anatol Belski bcdac7526d reduced the file size even more
the first second is what at least has to be
2013-05-25 00:09:32 +02:00
Anatol Belski 2d386db878 Fixed bug #64916 finfo testcase contains copyrighted music.
I wasn't able to produce a file causing exactly the same crash.
However the first three seconds of the originally reported
file are  pretty enough to repro bug #64830. That reduces its
size to 72k.
2013-05-24 23:58:31 +02:00
Remi Collet 9f6ca9bc64 Fixed Bug #64915 (error_log ignored when daemonize=0)
Use configured error_log file when stderr is not a tty.
So only use tty during interactive debug run.
2013-05-24 12:09:05 +02:00
Johannes Schlüter cd74b7d57e Merge branch 'PHP-5.3' into PHP-5.4 2013-05-22 17:15:27 +02:00
Johannes Schlüter 4cb25d25f1 This will be PHP 5.3.27 2013-05-22 17:13:17 +02:00
Stanislav Malyshev c53058763a 5.4.17 is next 2013-05-21 23:36:28 -07:00
Remi Collet c50cef1dc5 Fixed bug #64895 Integer overflow in SndToJewish 2013-05-22 08:30:50 +02:00
Remi Collet 73eedaf6f7 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #64895 Integer overflow in SndToJewish
2013-05-22 08:29:08 +02:00
Remi Collet 013797588a NEWS 2013-05-22 08:28:53 +02:00
Remi Collet fc2a9d6e47 Fixed bug #64895 Integer overflow in SndToJewish 2013-05-22 08:28:05 +02:00
Stanislav Malyshev 0776337e28 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix order
2013-05-21 23:26:03 -07:00
Stanislav Malyshev de4fd8638b merge NEWS from 5.3 2013-05-21 23:25:46 -07:00
Stanislav Malyshev d4ad889824 fix order 2013-05-21 23:25:35 -07:00
Sara Golemon 2d7415a4af Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Don't double-quote name of namespaced function.
2013-05-19 13:34:57 -07:00
Remi Collet 646ebc2cb9 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Integer overflow in SndToJewish leads to php hang AT least in (inputDay is long, metonicCycle is int):    metonicCycle = (inputDay + 310) / 6940;
2013-05-21 18:08:45 +02:00
Remi Collet 4828f7343b Integer overflow in SndToJewish leads to php hang
AT least in (inputDay is long, metonicCycle is int):
   metonicCycle = (inputDay + 310) / 6940;

So large value give strange (negative) results or php hangs.
This is patch already applied in some linux distro.
2013-05-21 18:04:17 +02:00
Remi Collet 0e99329e0a Add --with-fpm-systemd option to report health to systemd, and
systemd_interval option to configure this. The service can now use
Type=notify in the systemd unit file.

Systemd status line will looks like:
Status: "Processes active: 0, idle: 5, Requests: 90, slow: 0, Traffic: 10req/sec"

Watchdog mode is also supported. In this case watchdog interval,
configured in the unit file, override the systemd_interval option.

When not used (default), no change from previous version.
2013-05-21 09:49:00 +02:00
Dmitry Stogov 77fffff157 Fixed bug #64720 (SegFault on zend_deactivate) 2013-05-21 09:58:11 +04:00
Stanislav Malyshev 1124b0678f add reporter 2013-05-20 02:01:38 -07:00
Stanislav Malyshev fb58e69a84 fix bug #64660 - yyparse can return 2, not only 1 2013-05-20 00:52:38 -07:00
Stanislav Malyshev 7c66c502d0 fix 5.4.16 relase date 2013-05-19 23:55:12 -07:00
Sara Golemon 2d5695cbc5 Don't double-quote name of namespaced function.
ZEND_NS_NAMED_FE(ns, zend_name, name, arg_info)

was resulting in a function declaration of:

ns\"zend_name"()

including the errant quotes.

This diff corrects that.  There are currently no uses of ZEND_NS_NAMED_FE
in core and reason to believe that there are no uses in the wild either.
2013-05-19 13:32:17 -07:00
Pierre Joye b142e8825f Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-05-17 11:49:45 +02:00
Pierre Joye aff65a0346 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  entry for #64214
  other fix for #64214, unmodified file may not have old fp set, causing other possible crashes
2013-05-17 11:49:33 +02:00
Pierre Joye 46b05bc57a entry for #64214 2013-05-17 11:49:13 +02:00
Pierre Joye 3eb1745643 other fix for #64214, unmodified file may not have old fp set, causing other possible crashes 2013-05-17 11:45:13 +02:00
Anatol Belski 8dec06ea2a Fixed error handling for ext/sockets under win
WSAGetLastError() must be the very next call after a socket
function had an invalid return. Any function call inbetween
will clear the error information.
2013-05-16 19:23:31 +02:00
Anatol Belski d82704b677 Fixed bug #64853Use of no longer available ini directives causes crash on TS build
The fatal error for removed ini options is thrown before the executor
init, so ensure the relevant variables are initialized.
2013-05-16 08:40:56 +02:00
Pierre Joye 09470ebf35 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-05-15 15:53:57 +02:00
Anatol Belski de82e7edf7 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix unitialized vars when sql.safe_mode=1
  more check for php_stream_fopen_tmpfile failure
2013-05-15 11:14:58 +02:00
Anatol Belski 86db5fb4c2 Fix unitialized vars when sql.safe_mode=1
which can break the subsequent mysqlnd_connect() call
2013-05-15 11:12:17 +02:00
Pierre Joye 7ec2e5314e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  more check for php_stream_fopen_tmpfile failure
2013-05-14 16:45:56 +02:00
Pierre Joye ba1af29805 more check for php_stream_fopen_tmpfile failure 2013-05-14 16:45:11 +02:00
Anatol Belski 1a46a102d9 updated libmagic.patch after fix for #64830 2013-05-14 11:14:37 +02:00
Anatol Belski 8c36156070 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-05-14 09:45:02 +02:00
Anatol Belski 74555e7c26 Fixed bug #64830 mimetype detection segfaults on mp3 file 2013-05-14 09:40:43 +02:00
Pierre Joye f37c54ab27 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  php_stream_fopen_tmpfile may file, causing any following stream usage to crash
2013-05-14 09:21:17 +02:00
Pierre Joye 533e636a62 php_stream_fopen_tmpfile may file, causing any following stream usage to crash 2013-05-14 09:20:53 +02:00
Anatol Belski 156576fcce Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix heap overflow warnings on win x64 debug crt
2013-05-13 14:25:25 +02:00
Anatol Belski fe21accfb4 fix heap overflow warnings on win x64 debug crt 2013-05-13 14:24:21 +02:00
Anatol Belski 89159926ad updated NEWS 2013-05-12 14:08:42 +02:00
Anatol Belski dd188e9538 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #64821 Custom Exceptions crash when internal properties overridden
2013-05-12 14:06:59 +02:00
Anatol Belski d6505acbf5 Fixed bug #64821 Custom Exceptions crash when internal properties overridden
If user inherits Exception and overrides the properties to arbitrary data types,
or simply doesn't run parent::__construct(), here we go. Just convert everything
to the appropriate data type, like Exception::__toString() does.
2013-05-12 14:00:32 +02:00
Xinchen Hui 699dc04c55 Missed SKIPIF 2013-05-09 15:57:25 +08:00
1594 changed files with 15676 additions and 6363 deletions

No files matched your search

+4
View File
@@ -204,6 +204,8 @@ ext/pdo_sqlite/sqlite3.h
ext/pdo_sqlite/tests/*.db
ext/pdo_sqlite/tests/*.tmp
ext/phar/phar.phar
ext/phar/phar.1
ext/phar/phar.phar.1
ext/pspell/tests/*.tmp
ext/reflection/xml
ext/reflection/html
@@ -235,12 +237,14 @@ sapi/apache/libphp5.module
sapi/apache2handler/libphp5.module
sapi/apache_hooks/libphp5.module
sapi/cgi/php-cgi
sapi/cgi/php-cgi.1
sapi/cli/php.1
sapi/fpm/php-fpm
sapi/fpm/php-fpm.1
sapi/fpm/init.d.php-fpm
sapi/fpm/php-fpm.conf
sapi/fpm/fpm/php-cgi
sapi/phpdbg/phpdbg
scripts/php-config
scripts/phpize
scripts/man1/*.1
+26 -6
View File
@@ -59,8 +59,8 @@ Exceptions:
you're calling.
7. When commenting out code using a #if statement, do NOT use 0 only. Instead
use "<svn username here>_0". For example, #if FOO_0, where FOO is your
svn user foo. This allows easier tracking of why code was commented out,
use "<git username here>_0". For example, #if FOO_0, where FOO is your
git user foo. This allows easier tracking of why code was commented out,
especially in bundled libraries.
8. Do not define functions that are not available. For instance, if a
@@ -82,7 +82,7 @@ Exceptions:
library may need to control or free the memory, or when the memory in
question needs to survive between multiple requests.
Naming Conventions
User Functions/Methods Naming Conventions
------------------
1. Function names for user-level functions should be enclosed with in
@@ -151,7 +151,7 @@ Naming Conventions
7. Classes should be given descriptive names. Avoid using abbreviations where
possible. Each word in the class name should start with a capital letter,
without underscore delimiters (CampelCaps starting with a capital letter).
without underscore delimiters (CamelCaps starting with a capital letter).
The class name should be prefixed with the name of the 'parent set' (e.g.
the name of the extension)::
@@ -163,6 +163,26 @@ Naming Conventions
'foobar'
'foo_bar'
Internal Function Naming Convensions
----------------------
1. Functions that are part of the external API should be named
'php_modulename_function()' to avoid symbol collision. They should be in
lowercase, with words underscore delimited. Exposed API must be defined
in 'php_modulename.h'.
PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS);
Unexposed module function should be static and should not be defined in
'php_modulename.h'.
static int php_session_destroy(TSRMLS_D)
2. Main module source file must be named 'modulename.c'.
3. Header file that is used by other sources must be named 'php_modulename.h'.
Syntax and indentation
----------------------
@@ -181,9 +201,9 @@ Syntax and indentation
of PHP or one of its standard modules, please maintain the K&R
style. This applies to just about everything, starting with
indentation and comment styles and up to function declaration
syntax. Also see Indentstyle_.
syntax. Also see Indentstyle.
.. _Indentstyle: http://www.catb.org/~esr/jargon/html/I/indent-style.html
Indentstyle: http://www.catb.org/~esr/jargon/html/I/indent-style.html
3. Be generous with whitespace and braces. Keep one empty line between the
variable declaration section and the statements in a block, as well as
+3 -2
View File
@@ -10,7 +10,7 @@ all: $(all_targets)
@echo "Build complete."
@echo "Don't forget to run 'make test'."
@echo
build-modules: $(PHP_MODULES) $(PHP_ZEND_EX)
build-binaries: $(PHP_BINARIES)
@@ -113,10 +113,11 @@ clean:
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
find . -name \*.1 | xargs rm -f
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
distclean: clean
rm -f Makefile config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp
rm -f Makefile config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp Zend/zend_dtrace_gen.h Zend/zend_dtrace_gen.h.bak
$(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f
.PHONY: all clean install distclean test
+459 -6
View File
@@ -1,22 +1,478 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2013, PHP 5.4.16
06 Mar 2014, PHP 5.4.26
- JSON:
. Fixed bug #65753 (JsonSerializeable couldn't implement on module extension)
(chobieeee@php.net)
- Fileinfo:
. Fixed bug #66731 (file: infinite recursion). (CVE-2014-1943) (Remi)
. Fixed bug #66820 (out-of-bounds memory access in fileinfo) (Remi)
- LDAP:
. Implemented ldap_modify_batch (https://wiki.php.net/rfc/ldap_modify_batch).
(Ondřej Hošek)
- Openssl:
. Fixed bug #66501 (Add EC key support to php_openssl_is_private_key).
(Mark Zedwood)
- Pgsql:
. Added warning for dangerous client encoding and remove possible injections
for pg_insert()/pg_update()/pg_delete()/pg_select(). (Yasuo)
06 Feb 2014, PHP 5.4.25
- Core:
. Fixed bug #66286 (Incorrect object comparison with inheritance). (Nikita)
. Fixed bug #66509 (copy() arginfo has changed starting from 5.4).
(Will Fitch)
- mysqlnd:
. Fixed bug #66283 (Segmentation fault after memory_limit). (Johannes)
- PDO_pgsql:
. Fixed bug #62479 (PDO-psql cannot connect if password contains spaces).
(Will Fitch, Ilia)
- Session:
. Fixed bug #66481 (Calls to session_name() segfault when session.name is
null). (Laruence)
10 Jan 2014, PHP 5.4.24
- Core:
. Added validation of class names in the autoload process. (Dmitry)
. Fixed invalid C code in zend_strtod.c. (Lior Kaplan)
. Fixed bug #61645 (fopen and O_NONBLOCK). (Mike)
- Date:
. Fixed bug #66060 (Heap buffer over-read in DateInterval). (CVE-2013-6712)
(Remi)
. Fixed bug #63391 (Incorrect/inconsistent day of week prior to the year
1600). (Derick, T. Carter)
. Fixed bug #61599 (Wrong Day of Week). (Derick, T. Carter)
- DOM:
. Fixed bug #65196 (Passing DOMDocumentFragment to DOMDocument::saveHTML()
Produces invalid Markup). (Mike)
- Exif:
. Fixed bug #65873 (Integer overflow in exif_read_data()). (Stas)
- Filter:
. Fixed bug #66229 (128.0.0.0/16 isn't reserved any longer). (Adam)
- GD:
. Fixed bug #64405 (Use freetype-config for determining freetype2 dir(s)).
(Adam)
- PDO_odbc:
. Fixed bug #66311 (Stack smashing protection kills PDO/ODBC queries).
(michael at orlitzky dot com)
- SNMP:
. Fixed SNMP_ERR_TOOBIG handling for bulk walk operations. (Boris Lytochkin)
- XSL
. Fixed bug #49634 (Segfault throwing an exception in a XSL registered
function). (Mike)
- ZIP:
. Fixed Bug #66321 (ZipArchive::open() ze_obj->filename_len not real). (Remi)
12 Dec 2013, PHP 5.4.23
- Core:
. Fixed bug #66094 (unregister_tick_function tries to cast a Closure to a
string). (Laruence)
. Fixed bug #65969 (Chain assignment with T_LIST failure). (Dmitry)
. Fixed bug #65947 (basename is no more working after fgetcsv in certain
situation). (Laruence)
- JSON
. Fixed whitespace part of bug #64874 ("json_decode handles whitespace and
case-sensitivity incorrectly"). (Andrea Faulds)
- MySQLi:
. Fixed bug #66043 (Segfault calling bind_param() on mysqli). (Laruence)
- mysqlnd:
. Fixed bug #66124 (mysqli under mysqlnd loses precision when bind_param
with 'i'). (Andrey)
. Fixed bug #66141 (mysqlnd quote function is wrong with NO_BACKSLASH_ESCAPES
after failed query). (Andrey)
- Openssl:
. Fixed memory corruption in openssl_x509_parse() (CVE-2013-6420).
(Stefan Esser).
- PDO
. Fixed bug 65946 (sql_parser permanently converts values bound to strings)
14 Nov 2013, PHP 5.4.22
- Core:
. Fixed bug #65911 (scope resolution operator - strange behavior with $this).
(Bob Weinand)
- CLI server:
. Fixed bug #65818 (Segfault with built-in webserver and chunked transfer
encoding). (Felipe)
- Exif:
. Fixed crash on unknown encoding. (Draal)
- FTP:
. Fixed bug #65667 (ftp_nb_continue produces segfault). (Philip Hofstetter)
- ODBC:
. Fixed bug #65950 (Field name truncation if the field name is bigger than
32 characters). (patch submitted by: michael dot y at zend dot com, Yasuo)
- PDO:
. Fixed bug #66033 (Segmentation Fault when constructor of PDO statement
throws an exception). (Laruence)
- Sockets:
. Fixed bug #65808 (the socket_connect() won't work with IPv6 address).
(Mike)
- Standard:
. Fixed bug #64760 (var_export() does not use full precision for floating-point
numbers) (Yasuo)
. Fixed bug #66395 (basename function doesn't remove drive letter). (Anatol)
- XMLReader:
. Fixed bug #51936 (Crash with clone XMLReader). (Mike)
. Fixed bug #64230 (XMLReader does not suppress errors). (Mike)
17 Oct 2013, PHP 5.4.21
- Core:
. Fixed bug #65322 (compile time errors won't trigger auto loading). (Nikita)
- CLI server:
. Fixed bug #65633 (built-in server treat some http headers as
case-sensitive). (Adam)
- Datetime:
. Fixed bug #64157 (DateTime::createFromFormat() reports confusing error
message). (Boro Sitnikovski)
- DBA extension:
. Fixed bug #65708 (dba functions cast $key param to string in-place,
bypassing copy on write). (Adam)
- Filter:
. Add RFC 6598 IPs to reserved addresses. (Sebastian Nohn)
. Fixed bug #64441 (FILTER_VALIDATE_URL rejects fully qualified domain names).
(Syra)
- IMAP:
. Fixed bug #65721 (configure script broken in 5.5.4 and 5.4.20 when enabling
imap). (ryotakatsuki at gmail dot com)
- Standard:
. Fixed bug #61548 (content-type must appear at the end of headers for 201
Location to work in http). (Mike)
- Build system:
. Fixed bug #62396 ('make test' crashes starting with 5.3.14 (missing
gzencode())). (Mike)
19 Sep 2013, PHP 5.4.20
- Core:
. Fixed bug #60598 (cli/apache sapi segfault on objects manipulation).
(Laruence)
. Fixed bug #65579 (Using traits with get_class_methods causes segfault).
(Adam)
. Fixed bug #65490 (Duplicate calls to get lineno & filename for
DTRACE_FUNCTION_*). (Chris Jones)
. Fixed bug #65483 (quoted-printable encode stream filter incorrectly encoding
spaces). (Michael M Slusarz)
. Fixed bug #65481 (shutdown segfault due to serialize) (Mike)
. Fixed bug #65470 (Segmentation fault in zend_error() with
--enable-dtrace). (Chris Jones, Kris Van Hees)
. Fixed bug #65372 (Segfault in gc_zval_possible_root when return reference
fails). (Laruence)
. Fixed bug #65304 (Use of max int in array_sum). (Laruence)
. Fixed bug #65291 (get_defined_constants() causes PHP to crash in a very
limited case). (Arpad)
. Fixed bug #65225 (PHP_BINARY incorrectly set). (Patrick Allaert)
. Improved fix for bug #63186 (compile failure on netbsd). (Matteo)
. Fixed bug #62692 (PHP fails to build with DTrace). (Chris Jones, Kris Van Hees)
. Fixed bug #61759 (class_alias() should accept classes with leading
backslashes). (Julien)
. Fixed bug #61345 (CGI mode - make install don't work). (Michael Heimpold)
. Cherry-picked some DTrace build commits (allowing builds on Linux,
bug #62691, and bug #63706) from PHP 5.5 branch
. Fixed bug #61268 (--enable-dtrace leads make to clobber
Zend/zend_dtrace.d) (Chris Jones)
- cURL:
. Fixed bug #65458 (curl memory leak). (Adam)
- Datetime:
. Fixed bug #65554 (createFromFormat broken when weekday name is followed
by some delimiters). (Valentin Logvinskiy, Stas).
. Fixed bug #65564 (stack-buffer-overflow in DateTimeZone stuff caught
by AddressSanitizer). (Remi).
- Openssl:
. Fixed bug #64802 (openssl_x509_parse fails to parse subject properly in
some cases). (Mark Jones)
- Session:
. Fixed bug #62129 (rfc1867 crashes php even though turned off). (gxd305 at
gmail dot com)
. Fixed bug #50308 (session id not appended properly for empty anchor tags).
(Arpad)
. Fixed possible buffer overflow under Windows. Note: Not a security fix.
(Yasuo)
. Changed session.auto_start to PHP_INI_PERDIR. (Yasuo)
- SOAP:
. Fixed bug #65018 (SoapHeader problems with SoapServer). (Dmitry)
- SPL:
. Fixed bug #65328 (Segfault when getting SplStack object Value). (Laruence)
- PDO:
. Fixed bug #64953 (Postgres prepared statement positional parameter
casting). (Mike)
- Phar:
. Fixed bug #65028 (Phar::buildFromDirectory creates corrupt archives for
some specific contents). (Stas)
- Pgsql:
. Fixed bug #65336 (pg_escape_literal/identifier() silently returns false).
(Yasuo)
. Fixed bug #62978 (Disallow possible SQL injections with pg_select()/pg_update()
/pg_delete()/pg_insert()). (Yasuo)
- Zlib:
. Fixed bug #65391 (Unable to send vary header user-agent when
ob_start('ob_gzhandler') is called) (Mike)
22 Aug 2013, PHP 5.4.19
- Core:
. Fixed bug #64503 (Compilation fails with error: conflicting types for
'zendparse'). (Laruence)
- Openssl:
. Fixed UMR in fix for CVE-2013-4248.
15 Aug 2013, PHP 5.4.18
- Core:
. Fixed value of FILTER_SANITIZE_FULL_SPECIAL_CHARS constant (previously was
erroneously set to FILTER_SANITIZE_SPECIAL_CHARS value). (Andrey
avp200681 gmail com).
. Fixed bug #65254 (Exception not catchable when exception thrown in autoload
with a namespace). (Laruence)
. Fixed bug #65108 (is_callable() triggers Fatal Error).
(David Soria Parra, Laruence)
. Fixed bug #65088 (Generated configure script is malformed on OpenBSD).
(Adam)
. Fixed bug #62964 (Possible XSS on "Registered stream filters" info).
(david at nnucomputerwhiz dot com)
. Fixed bug #62672 (Error on serialize of ArrayObject). (Lior Kaplan)
. Fixed bug #62475 (variant_* functions causes crash when null given as an
argument). (Felipe)
. Fixed bug #60732 (php_error_docref links to invalid pages). (Jakub Vrana)
. Fixed bug #65226 (chroot() does not get enabled). (Anatol)
- CGI:
. Fixed Bug #65143 (Missing php-cgi man page). (Remi)
- CLI server:
. Fixed bug #65066 (Cli server not responsive when responding with 422 http
status code). (Adam)
- CURL:
. Fixed bug #62665 (curl.cainfo doesn't appear in php.ini). (Lior Kaplan)
- FPM:
. Fixed bug #63983 (enabling FPM borks compile on FreeBSD).
(chibisuke at web dot de, Felipe)
- FTP:
. Fixed bug #65228 (FTPs memory leak with SSL).
(marco dot beierer at mbsecurity dot ch)
- GMP:
. Fixed bug #65227 (Memory leak in gmp_cmp second parameter). (Felipe)
- Imap:
. Fixed bug #64467 (Segmentation fault after imap_reopen failure).
(askalski at gmail dot com)
- Intl:
. Fixed bug #62759 (Buggy grapheme_substr() on edge case). (Stas)
. Fixed bug #61860 (Offsets may be wrong for grapheme_stri* functions).
(Stas)
- mysqlnd:
. Fixed segfault in mysqlnd when doing long prepare. (Andrey)
- ODBC:
. Fixed bug #61387 (NULL valued anonymous column causes segfault in
odbc_fetch_array). (Brandon Kirsch)
- Openssl:
. Fixed handling null bytes in subjectAltName (CVE-2013-4248).
(Christian Heimes)
- PDO:
. Allowed PDO_OCI to compile with Oracle Database 12c client libraries.
(Chris Jones)
- PDO_dblib:
. Fixed bug #65219 (PDO/dblib not working anymore ("use dbName" not sent)).
(Stanley Sufficool)
- PDO_pgsql:
. Fixed meta data retrieve when OID is larger than 2^31. (Yasuo)
- Phar:
. Fixed Bug #65142 (Missing phar man page). (Remi)
- Session
. Fixed bug #62535 ($_SESSION[$key]["cancel_upload"] doesn't work as
documented). (Arpad)
. Fixed bug #35703 (when session_name("123") consist only digits,
should warning). (Yasuo)
. Fixed bug #49175 (mod_files.sh does not support hash bits). Patch by
oorza2k5 at gmail dot com (Yasuo)
- Sockets:
. Implemented FR #63472 (Setting SO_BINDTODEVICE with socket_set_option).
(Damjan Cvetko)
- SPL:
. Fixed bug #65136 (RecursiveDirectoryIterator segfault). (Laruence)
. Fixed bug #61828 (Memleak when calling Directory(Recursive)Iterator
/Spl(Temp)FileObject ctor twice). (Laruence)
. Fixed bug #60560 (SplFixedArray un-/serialize, getSize(), count() return 0,
keys are strings). (Adam)
- XML:
. Fixed bug #65236 (heap corruption in xml parser, CVE-2013-4113). (Rob)
04 Jul 2013, PHP 5.4.17
- Core:
. Fixed bug #64988 (Class loading order affects E_STRICT warning). (Laruence)
. Fixed bug #64966 (segfault in zend_do_fcall_common_helper_SPEC). (Laruence)
. Fixed bug #64960 (Segfault in gc_zval_possible_root). (Laruence)
. Fixed bug #64936 (doc comments picked up from previous scanner run). (Stas,
Jonathan Oddy)
. Fixed bug #64934 (Apache2 TS crash with get_browser()). (Anatol)
. Fixed bug #64166 (quoted-printable-encode stream filter incorrectly
discarding whitespace). (Michael M Slusarz)
- DateTime:
. Fixed bug #53437 (Crash when using unserialized DatePeriod instance).
(Gustavo, Derick, Anatol)
- FPM:
. Fixed Bug #64915 (error_log ignored when daemonize=0). (Remi)
. Implemented FR #64764 (add support for FPM init.d script). (Lior Kaplan)
- PDO:
. Fixed bug #63176 (Segmentation fault when instantiate 2 persistent PDO to
the same db server). (Laruence)
- PDO_DBlib:
. Fixed bug #63638 (Cannot connect to SQL Server 2008 with PDO dblib).
(Stanley Sufficool)
. Fixed bug #64338 (pdo_dblib can't connect to Azure SQL). (Stanley
Sufficool)
. Fixed bug #64808 (FreeTDS PDO getColumnMeta on a prepared but not executed
statement crashes). (Stanley Sufficool)
- PDO_firebird:
. Fixed bug #64037 (Firebird return wrong value for numeric field).
(Matheus Degiovani, Matteo)
. Fixed bug #62024 (Cannot insert second row with null using parametrized
query). (patch by james@kenjim.com, Matheus Degiovani, Matteo)
- PDO_mysql:
. Fixed bug #48724 (getColumnMeta() doesn't return native_type for BIT,
TINYINT and YEAR). (Antony, Daniel Beardsley)
- PDO_pgsql:
. Fixed Bug #64949 (Buffer overflow in _pdo_pgsql_error). (Remi)
- pgsql:
. Fixed bug #64609 (pg_convert enum type support). (Matteo)
. Fixed bug #65015 (pg_send_query does not flush send buffer)
patch submitted by: adam at vektah dot net (Yasuo)
- Readline:
. Implement FR #55694 (Expose additional readline variable to prevent
default filename completion). (Hartmel)
- SPL:
. Fixed bug #64997 (Segfault while using RecursiveIteratorIterator on
64-bits systems). (Laruence)
06 Jun 2013, PHP 5.4.16
- Core:
. Fixed bug #64879 (Heap based buffer overflow in quoted_printable_encode,
CVE 2013-2110). (Stas)
. Fixed bug #64853 (Use of no longer available ini directives causes crash on
TS build). (Anatol)
. Fixed bug #64729 (compilation failure on x32). (Gustavo)
. Fixed bug #64720 (SegFault on zend_deactivate). (Dmitry)
. Fixed bug #64660 (Segfault on memory exhaustion within function definition).
(Stas, reported by Juha Kylmänen)
- Calendar:
. Fixed bug #64895 (Integer overflow in SndToJewish). (Remi)
- Fileinfo:
. Fixed bug #64830 (mimetype detection segfaults on mp3 file). (Anatol)
- FPM:
. Ignore QUERY_STRING when sent in SCRIPT_FILENAME. (Remi)
. Fixed some possible memory or resource leaks and possible null dereference
detected by code coverity scan. (Remi)
. Log a warning when a syscall fails. (Remi)
. Add --with-fpm-systemd option to report health to systemd, and
systemd_interval option to configure this. The service can now use
Type=notify in the systemd unit file. (Remi)
- MySQLi
. Fixed bug #64726 (Segfault when calling fetch_object on a use_result and DB
pointer has closed). (Laruence)
- Phar
. Fixed bug #64214 (PHAR PHPTs intermittently crash when run on DFS, SMB or
with non std tmp dir). (Pierre)
- SNMP:
. Fixed bug #64765 (Some IPv6 addresses get interpreted wrong).
(Boris Lytochkin)
(Boris Lytochkin)
. Fixed bug #64159 (Truncated snmpget). (Boris Lytochkin)
?? ??? 2013, PHP 5.4.15
- Streams:
. Fixed bug #64770 (stream_select() fails with pipes returned by proc_open()
on Windows x64). (Anatol)
- Zend Engine:
. Fixed bug #64821 (Custom Exceptions crash when internal properties
overridden). (Anatol)
09 May 2013, PHP 5.4.15
- Core:
. Fixed bug #64578 (debug_backtrace in set_error_handler corrupts zend heap:
segfault). (Laruence)
@@ -113,9 +569,6 @@ PHP NEWS
. Disabled external entities loading (CVE-2013-1643, CVE-2013-1824).
(Dmitry)
- Phar:
. Fixed timestamp update on Phar contents modification. (Dmitry)
- SPL:
. Fixed bug #64264 (SPLFixedArray toArray problem). (Laruence)
. Fixed bug #64228 (RecursiveDirectoryIterator always assumes SKIP_DOTS).
+9 -1
View File
@@ -1,3 +1,11 @@
This file describes extension module API details. Refer to
README.EXT_SKEL to create extension skeleton files. Refer to
Hacker's Guide for PHP internals.
http://www.php.net/manual/en/internals2.php
Between PHP 4.0.6 and 4.1.0, the Zend module struct changed in a way
that broke both source and binary compatibility. If you are
maintaining a third party extension, here's how to update it:
@@ -30,7 +38,7 @@ zend_module_entry foo_module_entry = {
PHP_RSHUTDOWN(foo), /* per-request shutdown function */
PHP_MINFO(foo), /* information function */
#if ZEND_MODULE_API_NO >= 20010901
FOO_VERSION, /* extension version number (string) */
PHP_FOO_VERSION, /* extension version number (string) */
#endif
STANDARD_MODULE_PROPERTIES
};
+29 -6
View File
@@ -31,6 +31,11 @@ HOW TO USE IT
./buildconf; ./configure --enable-module_name; make
The definition of PHP_MODULE_NAME_VERSION will be present in the
php_module_name.h and injected into the zend_module_entry definition. This
is required by the PECL website for the version string conformity checks
against package.xml
But if you already have planned the overall scheme of your module, what
functions it will contain, their return types and the arguments they take
(a very good idea) and don't want to bother yourself with creating function
@@ -40,12 +45,29 @@ HOW TO USE IT
--proto=filename.
SOURCE AND HEADER FILE NAME
./ext_skel generates 'module_name.c' and 'php_module_name.h' as main source
and header files. Keep these names.
Module functions (User functions) must be named
module_name_function()
When you need to expose module functions to other modules, expose functions
strictly needed by others. Exposed internal function must be named
php_module_name_function()
See also CODING_STANDARDS.
FORMAT OF FUNCTION DEFINITIONS FILE
All the definitions must be on one line. In it's simplest form, it's just
the function name, e.g.
my_function
module_name_function
but then you'll be left with an almost empty function body without any
argument handling.
@@ -67,8 +89,9 @@ FORMAT OF FUNCTION DEFINITIONS FILE
An example:
my_function(int arg1, int arg2 [, int arg3 [, int arg4]]) this is my 1st
module_name_function(int arg1, int arg2 [, int arg3 [, int arg4]])
Arguments arg1 and arg2 are required.
Arguments arg3 and arg4 are optional.
If possible, the function definition should also contain it's return type
@@ -128,15 +151,15 @@ EXAMPLE
The following _one_ line
bool my_drawtext(resource image, string text, resource font, int x, int y [, int color])
bool module_name_drawtext(resource image, string text, resource font, int x, int y [, int color])
will create this function definition for you (note that there are a few
question marks to be replaced by you, and you must of course add your own
value definitions too):
/* {{{ proto bool my_drawtext(resource image, string text, resource font, int x, int y [, int color])
/* {{{ proto bool module_name_drawtext(resource image, string text, resource font, int x, int y [, int color])
*/
PHP_FUNCTION(my_drawtext)
PHP_FUNCTION(module_name_drawtext)
{
char *text = NULL;
int argc = ZEND_NUM_ARGS();
@@ -159,7 +182,7 @@ PHP_FUNCTION(my_drawtext)
ZEND_FETCH_RESOURCE(???, ???, font, font_id, "???", ???_rsrc_id);
}
php_error(E_WARNING, "my_drawtext: not yet implemented");
php_error(E_WARNING, "module_name_drawtext: not yet implemented");
}
/* }}} */
+14 -9
View File
@@ -45,14 +45,17 @@ Currently we have the following branches in use::
master The active development branch.
PHP-5.4 Is used to release the PHP 5.4.x series. It still allows for
larger enhancements.
PHP-5.3 Is used to release the PHP 5.3.x series. This is current
PHP-5.5 Is used to release the PHP 5.5.x series. This is a current
stable version and is open for bugfixes only.
PHP-5.2 Is used to release the PHP 5.2.x series. It is closed for
changes now.
PHP-5.4 Is used to release the PHP 5.4.x series. This is a current
stable version and is open for bugfixes only.
PHP-5.3 Is used to release the PHP 5.3.x series. This is currently
in extended support and open forsecurity fixes only. Triaged
via security@php.net
PHP-5.2 This branch is closed.
PHP-5.1 This branch is closed.
@@ -66,9 +69,11 @@ The next few rules are more of a technical nature::
branches) an empty merge should be done.
2. All news updates intended for public viewing, such as new features,
bug fixes, improvements, etc., should go into the NEWS file of the
*first* to be released version with the given change. In other words
any NEWS file change only needs to done in one branch.
bug fixes, improvements, etc., should go into the NEWS file of *any
stable release* version with the given change. In other words,
news about a bug fix which went into PHP-5.4, PHP-5.5 and master
should be noted in both PHP-5.4/NEWS and PHP-5.5/NEWS but
not master, which is not a public released version yet.
3. Do not commit multiple file and dump all messages in one commit. If you
modified several unrelated files, commit each group separately and
+1 -1
View File
@@ -32,7 +32,7 @@ resources cannot be auto-converted.
Type specifiers
---------------
The following list shows the type specifier, its meaning and the parameter
types that need to be passed by address. All passed paramaters are set
types that need to be passed by address. All passed parameters are set
if the PHP parameter is non optional and untouched if optional and the
parameter is not present. The only exception is O where the zend_class_entry*
has to be provided on input and is used to verify the PHP parameter is an
+80 -70
View File
@@ -8,15 +8,16 @@ General notes and tips
1. Do not release on Fridays, Saturdays or Sundays
because the sysadmins can not upgrade stuff then.
2. Package the day before a release. So if the release is to be on Thursday,
package on Wednesday.
2. Package two days before a release. So if the release is to be on Thursday,
package on Tuesday. Think about timezones as well.
3. Ensure that Windows builds will work before packaging
4. Follow all steps to the letter. When unclear ask previous RM's (Derick/Ilia)
before proceeding. Ideally make sure that for the first releases one of the
previous RM's is around to answer questions. For the steps related to the
php/QA/bug websites try to have someone from the webmaster team (Bjori) on hand.
4. Follow all steps to the letter. When unclear ask previous RM's (David/Julien/
Johannes/Stas/Derick/Ilia) before proceeding. Ideally make sure that for the
first releases one of the previous RM's is around to answer questions. For the
steps related to the php/QA/bug websites try to have someone from the webmaster
team (Bjori) on hand.
5. Verify the tags to be extra sure everything was tagged properly.
@@ -50,30 +51,44 @@ Rolling a non stable release (alpha/beta/RC)
2. run the "scripts/dev/credits" script in php-src and commit the changes in the
credits files in ext/standard.
3. Checkout the release branch for this release (e.g., PHP-5.4.2).
3. Checkout the release branch for this release (e.g., PHP-5.4.2) from the main branch.
4. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
Do not use abbreviations for alpha and beta.
Do not use abbreviations for alpha and beta. Do not use dashes, you should
``#define PHP_VERSION "5.4.22RC1"`` and not ``#define PHP_VERSION "5.4.22-RC1"``
5. Commit these changes to the branch with ``git commit -a``.
5. Compile and make test, with and without ZTS, using the right Bison version
(for example, for 5.5, Bison 2.4.1 is used)
6. Tag the repository with the version, e.g.:
6. Check ./sapi/cli/php -v output for version matching.
7. If all is right, commit the changes to the release branch with ``git commit -a``.
8. Tag the repository release branch with the version, e.g.:
``git tag -u YOURKEYID php-5.4.2RC2``
7. Push the changes to the main repo:
9. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and ``NEWS``
in the *main* branch (PHP-5.4 for example) to prepare for the **next** version.
F.e. if the RC is "5.4.1RC1" then the new one should be "5.4.2-dev" - regardless if we get
a new RC or not. This is to make sure ``version_compare()`` can correctly work.
Commit the changes to the main branch.
10. Push the changes to the main repo, the tag, the main branch and the release branch :
``git push --tags origin HEAD``
``git push origin {main branch}``
``git push origin {release branch}``
8. run: ``./makedist 5.4.2RC2``, this will export the tree, create configure
and build two tarballs (one gz and one bz2).
11. run: ``PHPROOT=. ./makedist 5.4.2RC2``, this will export the tree, create configure
and build three tarballs (gz, bz2 and xz).
9. Copy those two tarballs to www.php.net, in your homedir there should be a
12. Copy those tarballs (scp, rsync) to downloads.php.net, in your homedir there should be a
directory "downloads/". Copy them into there, so that the system can generate
MD5 sums. If you do not have this directory, talk to Derick.
MD5 sums. If you do not have this directory, talk to Derick or Dan.
10. Now the RC can be found on http://downloads.php.net/yourname,
13. Now the RC can be found on http://downloads.php.net/yourname,
f.e. http://downloads.php.net/derick/
11. Once the release has been tagged, contact the PHP Windows development team
14. Once the release has been tagged, contact the PHP Windows development team
(internals-win@lists.php.net) so that Windows binaries can be created. Once
those are made, they should be placed into the same directory as the source snapshots.
@@ -86,10 +101,10 @@ pointing out "the location of the release" and "the possible release date of
either the next RC, or the final release".
2. Send an email (see example here http://news.php.net/php.pear.qa/5201) **To**
``php-qa@lists.php.net`` and ``primary-qa-tests@lists.php.net``.
``php-qa@lists.php.net`` and ``primary-qa-tester@lists.php.net``.
This email is to notify the selected projects about a new release so that they
can make sure their projects keep working. Make sure that you have been setup
as a moderator for ``primary-qa-tests@lists.php.net`` by having someone (Wez,
as a moderator for ``primary-qa-tester@lists.php.net`` by having someone (Hannes, Dan,
Derick) run the following commands for you:
``ssh lists.php.net``
@@ -105,9 +120,9 @@ Derick) run the following commands for you:
Note: Remember to update the MD5 checksum information.
4. Update ``php.git/include/version.inc`` (x=major version number)
4. Update ``web/php.git/include/version.inc`` (x=major version number)
a. ``$PHP_x_RC`` = "5.4.0RC1"
a. ``$PHP_x_RC`` = "5.4.0RC1" (should be set to "false" before)
b. ``$PHP_x_RC_DATE`` = "06 September 2007"
@@ -118,67 +133,61 @@ Derick) run the following commands for you:
6. For the first RC, write the doc team (phpdoc@lists.php.net) about updating the
INSTALL and win32/install.txt files which are generated from the PHP manual sources.
7. Publish the announce on www.php.net as well (for all releases, alpha, RCs or other)
Rolling a stable release
------------------------
1. Check windows snapshot builder logs (http://snaps.php.net/win32/snapshot-STABLE.log f.e.)
1. Checkout your release branch, you should have created when releasing previous RC
and bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
2. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
2. If a CVE commit needs to be merged to the release, then have it committed to
the base branches and merged upwards as usual (f.e commit the CVE fix to 5.3,
merge to 5.4, 5.5 etc...). Then you can cherry-pick it in your release branch.
Don't forget to update NEWS manually in an extra commit then.
3. **Merge** all related sections in NEWS (f.e. merge the 5.4.1RC1 and 5.4.0 sections)
3. Commit those changes
4. Commit those changes
5. run the "scripts/dev/credits" script in php-src and commit the changes in the
4. run the "scripts/dev/credits" script in php-src and commit the changes in the
credits files in ext/standard.
6. tag the repository with the version f.e. "``git tag -s php-5.4.1``"
(of course, you need to change that to the version you're rolling an RC for).
When making 5.X release, you need to tag the Zend directory separately!!
5. Compile and make test, with and without ZTS, using the right Bison version
(for example, for 5.5, Bison 2.4.1 is used)
7. Bump up the version numbers in ``main/php_version.h``, ``configure.in`` and
possibly ``NEWS`` again, to the **next** version. F.e. if the release candidate
was "5.4.1RC1" then the new one should be "5.4.1RC2-dev" - regardless if we get
a new RC or not. This is to make sure ``version_compare()`` can correctly work.
6. Check ./sapi/cli/php -v output for version matching.
8. Commit those changes
7. tag the repository with the version f.e. "``git tag -s php-5.4.1``"
9. Log in onto the snaps box and go into the correct tree (f.e. the PHP-5.4
branch if you're rolling 5.5.x releases).
8. Push the tag f.e. "``git push origin php-5.4.1``"
10. You do not have to update the tree, but of course you can with "``git pull
origin <branch>``".
9. run: ``PHPROOT=. ./makedist php 5.4.1``, this will export the tag, create configure
and build three tarballs (gz, bz2 and xz).
Check if the pear files are updated (phar).
11. run: ``./makedist php 5.4.1``, this will export the tree, create configure
and build two tarballs (one gz and one bz2).
10. Generate the GPG signature files for the archives.
``gpg -u YOUREMAIL --armor --detach-sign php-X.Y.Z.tar.xxx``
12. Commit those two tarballs to web/php-distributions.git, then update the git
submodule reference in web/php.git:
git submodule init;
11. Commit and push all the tarballs and signature files to web/php-distributions.git,
then update the git submodule reference in web/php.git:
``git submodule init;
git submodule update;
cd distributions;
git pull origin master;
cd ..;
git commit distributions;
git push;
git push;``
This is to fetch the last commit id from php-distributions.git and commit this
last commit id to web/php.git, then, mirrors will now sync
13. Once the release has been tagged, contact the PHP Windows development team
(internals-win@lists.php.net) so that Windows binaries can be created. Once
those are made, they should be committed to SVN too.
14. Check if the pear files are updated (phar for 5.1+ or run pear/make-pear-bundle.php with 4.4)
15. When making a final release, also remind the PHP Windows development team
(internals-win@lists.php.net) to prepare the installer packages for Win32.
12. Once the release has been tagged, contact the PHP Windows development team
(internals-win@lists.php.net) so that Windows binaries can be created.
Getting the stable release announced
------------------------------------
1. Run the bumpRelease script for phpweb on your local checkout
a. ``php bin/bumpRelease 5`` (or ``php bin/bumpRelease 4`` for PHP4)
a. ``php bin/bumpRelease 5`` to create the release file (releases/x_y_z.php)
The release announcement file should list in detail security fixes and
changes in behavior (whether due to a bug fix or not).
b. In case multiple PHP minor versions are in active development you have
to manually copy the old information to include/releases.inc
@@ -198,7 +207,13 @@ Getting the stable release announced
f. if the windows builds aren't ready yet prefix the "windows" key with a dot (".windows")
3. Update the ChangeLog file for the given major version
3. Update phpweb/include/releases.php with the old release info
(updates the download archives)
4. Update php-qa/include/release-qa.php and add the next version as an QARELEASE
(prepare for next RC)
5. Update the ChangeLog file for the given major version
f.e. ``ChangeLog-5.php`` from the NEWS file
a. go over the list and put every element on one line
@@ -218,19 +233,10 @@ f.e. ``ChangeLog-5.php`` from the NEWS file
IV. ``s/Fixed PECL bug #\([0-9]\+\)/<?php peclbugfix(\1); ?>/``
V. ``s/FR #\([0-9]\+\)/FR <?php bugl(\1); ?>/``
e. You may want to try php-web/bin/news2html to automate this task
4. ``cp releases/5_4_0.php releases/5_4_1.php``
5. ``git add releases/5_4_1.php``
6. Update the ``releases/*.php`` file with relevant data. The release
announcement file should list in detail:
a. security fixes,
b. changes in behavior (whether due to a bug fix or not)
7. Add a short notice to phpweb stating that there is a new release, and
6. Add a short notice to phpweb stating that there is a new release, and
highlight the major important things (security fixes) and when it is important
to upgrade.
@@ -238,7 +244,11 @@ to upgrade.
b. Add the content for the news entry
8. Commit all the changes.
7. **Check mirrors have been synced before announcing or pushing news**
Try, f.e. http://www.php.net/get/php-5.5.1.tar.bz2/from/a/mirror
Try several mirrors, mirrors may update slowly (may take an hour)
8. Commit all the changes to their respective git repos
9. Wait an hour or two, then send a mail to php-announce@lists.php.net,
php-general@lists.php.net and internals@lists.php.net with a text similar to
+15
View File
@@ -153,3 +153,18 @@ ADDING SHARED MODULE SUPPORT TO A MODULE
#ifdef COMPILE_DL_FOO
ZEND_GET_MODULE(foo)
#endif
PECL SITE CONFORMITY
If you plan to release an extension to the PECL website, there are several
points to be regarded.
1. Add LICENSE or COPYING to the package.xml
2. The following should be defined in one of the extension header files
#define PHP_FOO_VERSION "1.2.3"
This macros has to be used within your foo_module_entry to indicate the
extension version.
+11
View File
@@ -50,6 +50,17 @@ Please make the mail subject prefix "[PATCH]". If attaching a patch,
ensure it has a file extension of ".txt". This is because only MIME
attachments of type 'text/*' are accepted.
The preferred way to propose PHP patch is sending pull request from
github.
https://github.com/php/php-src
Fork the official PHP repository and send a pull request. A
notification will be sent to the pull request mailing list. Sending a
note to PHP Internals list (internals@lists.php.net) may help getting
more feedback and quicker turnaround. You can also add pull requests
to bug reports at http://bugs.php.net/.
PHP Documentation Patches
-------------------------
+1 -1
View File
@@ -1,6 +1,6 @@
[IMPORTANT NOTICE]
------------------
Failed tests usualy indicate a problem with your local system setup
Failed tests usually indicate a problem with your local system setup
and not within PHP itself (at least for official PHP release versions).
You may decide to automaticaly submit a test summary to our QA workflow
at the end of a test run.
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2013 The PHP Group |
| Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2013 The PHP Group |
| Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2013 The PHP Group |
| Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2013 The PHP Group |
| Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+6 -4
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2013 The PHP Group |
| Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -625,7 +625,7 @@ TSRM_API int shmget(int key, int size, int flags)
shm->info = info_handle;
shm->descriptor = MapViewOfFileEx(shm->info, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL);
if (created) {
if (NULL != shm->descriptor && created) {
shm->descriptor->shm_perm.key = key;
shm->descriptor->shm_segsz = size;
shm->descriptor->shm_ctime = time(NULL);
@@ -639,8 +639,10 @@ TSRM_API int shmget(int key, int size, int flags)
shm->descriptor->shm_perm.mode = shm->descriptor->shm_perm.seq = 0;
}
if (shm->descriptor->shm_perm.key != key || size > shm->descriptor->shm_segsz ) {
CloseHandle(shm->segment);
if (NULL != shm->descriptor && (shm->descriptor->shm_perm.key != key || size > shm->descriptor->shm_segsz)) {
if (NULL != shm->segment) {
CloseHandle(shm->segment);
}
UnmapViewOfFile(shm->descriptor);
CloseHandle(shm->info);
return -1;
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2013 The PHP Group |
| Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+4
View File
@@ -621,6 +621,7 @@ c. New functions
- LDAP:
- ldap_control_paged_result()
- ldap_control_paged_result_response()
- ldap_modify_batch (5.4.26)
- libxml:
- libxml_set_external_entity_loader()
@@ -640,6 +641,9 @@ c. New functions
- SPL
- class_uses()
- SplFixedArray
- SplFixedArray::__wakeup() (5.4.18)
d. New global constants
- CURLOPT_MAX_RECV_SPEED_LARGE
+1 -1
View File
@@ -10,7 +10,7 @@ libZend_la_SOURCES=\
zend_ini_parser.y zend_ini_scanner.l \
zend_alloc.c zend_compile.c zend_constants.c zend_dynamic_array.c \
zend_execute.c zend_execute_API.c zend_highlight.c zend_llist.c \
zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
zend_vm_opcodes.c zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \
zend_list.c zend_indent.c zend_builtin_functions.c zend_sprintf.c \
zend_ini.c zend_qsort.c zend_objects.c zend_object_handlers.c \
+1 -1
View File
@@ -6,7 +6,7 @@ fields and using different execution methods (call threading, switch threading
and direct threading). As a result ZE2 got more than 20% speedup on raw PHP
code execution (with specialized executor and direct threading execution
method). As in most PHP applications raw execution speed isn't the limiting
factor but system calls and database callls are, your mileage with this patch
factor but system calls and database calls are, your mileage with this patch
will vary.
Most parts of the old zend_execute.c go into zend_vm_def.h. Here you can
+3 -3
View File
@@ -435,7 +435,7 @@ Changes in the Zend Engine 2.0
that of other object-oriented languages, such as Java: When the
last reference to an object is destroyed the object's
destructor, which is a class method name __destruct() that
recieves no parameters, is called before the object is freed
receives no parameters, is called before the object is freed
from memory.
Example:
@@ -1136,7 +1136,7 @@ Changes in the Zend Engine 1.0
(supports breakpoints, expression evaluation, step-in/over,
function call backtrace, and more).
The Zend Engine claims 100% compatability with the engine of PHP
The Zend Engine claims 100% compatibility with the engine of PHP
3.0, and is shamelessly lying about it. Here's why:
* Static variable initializers only accept scalar values
@@ -1161,6 +1161,6 @@ Changes in the Zend Engine 1.0
printed the letter { and the contents of the variable $somevar in
PHP 3.0), it will result in a parse error with the Zend Engine.
In this case, you would have to change the code to print
"\{$somevar"; This incompatability is due to the full variable
"\{$somevar"; This incompatibility is due to the full variable
reference within quoted strings feature added in the Zend
Engine.
+4
View File
@@ -257,6 +257,10 @@ SOURCE=.\zend_ts_hash.c
SOURCE=.\zend_variables.c
# End Source File
# Begin Source File
SOURCE=.\zend_vm_opcodes.c
# End Source File
# End Group
# Begin Group "Header Files"
+4
View File
@@ -287,6 +287,10 @@ SOURCE=.\zend_ts_hash.c
SOURCE=.\zend_variables.c
# End Source File
# Begin Source File
SOURCE=.\zend_vm_opcodes.c
# End Source File
# End Group
# Begin Group "Header Files"
+2 -2
View File
@@ -4,7 +4,7 @@ dnl This file contains local autoconf functions.
AC_DEFUN([LIBZEND_BISON_CHECK],[
# we only support certain bison versions
bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5 2.5.1 2.6 2.6.1 2.6.2"
bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5 2.5.1 2.6 2.6.1 2.6.2 2.6.4"
# for standalone build of Zend Engine
test -z "$SED" && SED=sed
@@ -12,7 +12,7 @@ AC_DEFUN([LIBZEND_BISON_CHECK],[
bison_version=none
if test "$YACC"; then
AC_CACHE_CHECK([for bison version], php_cv_bison_version, [
bison_version_vars=`bison --version 2> /dev/null | grep 'GNU Bison' | cut -d ' ' -f 4 | $SED -e 's/\./ /' | tr -d a-z`
bison_version_vars=`$YACC --version 2> /dev/null | grep 'GNU Bison' | cut -d ' ' -f 4 | $SED -e 's/\./ /g' | tr -d a-z`
php_cv_bison_version=invalid
if test -n "$bison_version_vars"; then
set $bison_version_vars
+1 -1
View File
@@ -357,7 +357,7 @@ var_dump($global_var);
test_unset3();
var_dump($global_var);
//Note: No error conditions relating to passing arugments can be tested
//Note: No error conditions relating to passing arguments can be tested
// because these are not functions but statements, it will result in syntax error.
?>
===DONE===
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #32428 (The @ warning error supression operator is broken)
Bug #32428 (The @ warning error suppression operator is broken)
--FILE--
<?php
$data = @$not_exists;
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #60598 (cli/apache sapi segfault on objects manipulation)
--FILE--
<?php
define('OBJECT_COUNT', 10000);
$containers = array();
class Object {
protected $_guid = 0;
public function __construct() {
global $containers;
$this->guid = 1;
$containers[spl_object_hash($this)] = $this;
}
public function __destruct() {
global $containers;
$containers[spl_object_hash($this)] = NULL;
}
}
for ($i = 0; $i < OBJECT_COUNT; ++$i) {
new Object();
}
// You probably won't see this because of the "zend_mm_heap corrupted"
?>
If you see this, try to increase OBJECT_COUNT to 100,000
--EXPECT--
If you see this, try to increase OBJECT_COUNT to 100,000
+10 -10
View File
@@ -1,10 +1,10 @@
--TEST--
test of larger than 8kb text file being parsed by require statement
--FILE--
<?php
file_put_contents('test.php',str_repeat('passed, ',1024));
require('test.php');
unlink('test.php');
?>
--EXPECT--
passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed,Line truncated
--TEST--
test of larger than 8kb text file being parsed by require statement
--FILE--
<?php
file_put_contents('test.php',str_repeat('passed, ',1024));
require('./test.php');
unlink('test.php');
?>
--EXPECT--
passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed, passed,Line truncated
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Bug #64660 (Segfault on memory exhaustion within function definition)
--FILE--
<?php
function a() {
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Line truncated
}
echo "Done\n";
--EXPECTF--
Parse error: memory exhausted in %s on line %d
+48
View File
@@ -0,0 +1,48 @@
--TEST--
Bug #64720 (SegFault on zend_deactivate)
--FILE--
<?php
class Stat {
private static $requests;
public static function getInstance() {
if (!isset(self::$requests[1])) {
self::$requests[1] = new self();
}
return self::$requests[1];
}
public function __destruct() {
unset(self::$requests[1]);
}
}
class Foo {
public function __construct() {
Stat::getInstance();
}
}
class Error {
private $trace;
public function __construct() {
$this->trace = debug_backtrace(1);
}
}
class Bar {
public function __destruct() {
Stat::getInstance();
new Error();
}
public function test() {
new Error();
}
}
$foo = new Foo();
$bar = new Bar();
$bar->test();
?>
--EXPECTF--
Fatal error: Access to undeclared static property: Stat::$requests in %sbug64720.php on line 12
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #64821 Custom Exceptions crash when internal properties overridden (variation 1)
--FILE--
<?php
class a extends exception {
public function __construct() {
$this->message = NULL;
$this->string = NULL;
$this->code = array();
$this->line = "hello";
}
}
throw new a;
?>
--EXPECTF--
Fatal error: Uncaught exception 'a' in %s:0
Stack trace:
#0 {main}
thrown in %s on line %d
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #64821 Custom Exceptions crash when internal properties overridden (variation 2)
--FILE--
<?php
class a extends exception {
public function __construct() {
$this->line = array();
}
}
throw new a;
?>
--EXPECTF--
Fatal error: Uncaught exception 'a' in %s:0
Stack trace:
#0 {main}
thrown in %s on line %d
+20
View File
@@ -0,0 +1,20 @@
--TEST--
Bug #64821 Custom Exceptions crash when internal properties overridden (variation 3)
--FILE--
<?php
class a extends exception {
public function __construct() {
$this->line = array();
$this->file = NULL;
}
}
throw new a;
?>
--EXPECTF--
Fatal error: Uncaught exception 'a' in :0
Stack trace:
#0 {main}
thrown in Unknown on line %d
+47
View File
@@ -0,0 +1,47 @@
--TEST--
Bug #64896 (Segfault with gc_collect_cycles using unserialize on certain objects)
--XFAIL--
We can not fix this bug without a significant (performace slow down) change to gc
--FILE--
<?php
$bar = NULL;
class bad
{
private $_private = array();
public function __construct()
{
$this->_private[] = 'php';
}
public function __destruct()
{
global $bar;
$bar = $this;
}
}
$foo = new stdclass;
$foo->foo = $foo;
$foo->bad = new bad;
gc_disable();
unserialize(serialize($foo));
gc_collect_cycles();
var_dump($bar);
/* will output:
object(bad)#4 (1) {
["_private":"bad":private]=>
&UNKNOWN:0
}
*/
?>
--EXPECTF--
bject(bad)#%d (1) {
["_private":"bad":private]=>
array(1) {
[0]=>
string(3) "php"
}
}
+40
View File
@@ -0,0 +1,40 @@
--TEST--
Bug #64960 (Segfault in gc_zval_possible_root)
--FILE--
<?php
// this makes ob_end_clean raise an error
ob_end_flush();
class ExceptionHandler {
public function __invoke (Exception $e)
{
// this triggers the custom error handler
ob_end_clean();
}
}
// this must be a class, closure does not trigger segfault
set_exception_handler(new ExceptionHandler());
// exception must be throwed from error handler.
set_error_handler(function()
{
$e = new Exception;
$e->_trace = debug_backtrace();
throw $e;
});
// trigger error handler
$a['waa'];
?>
--EXPECTF--
Notice: ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush in %sbug64960.php on line 3
Fatal error: Uncaught exception 'Exception' in %sbug64960.php:19
Stack trace:
#0 [internal function]: {closure}(8, 'ob_end_clean():...', '%s', 9, Array)
#1 %sbug64960.php(9): ob_end_clean()
#2 [internal function]: ExceptionHandler->__invoke(Object(Exception))
#3 {main}
thrown in %sbug64960.php on line 19
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #64966 (segfault in zend_do_fcall_common_helper_SPEC)
--FILE--
<?php
error_reporting(E_ALL);
set_error_handler(function($error) { throw new Exception(); }, E_RECOVERABLE_ERROR);
function test($func) {
$a = $func("");
return true;
}
class A {
public function b() {
test("strlen");
test("iterator_apply");
}
}
$a = new A();
$a->b();
?>
--EXPECTF--
Fatal error: Uncaught exception 'Exception' in %sbug64966.php:3
Stack trace:
#0 [internal function]: {closure}(4096, 'Argument 1 pass...', '%s', 6, Array)
#1 %sbug64966.php(6): iterator_apply('')
#2 %sbug64966.php(12): test('iterator_apply')
#3 %sbug64966.php(17): A->b()
#4 {main}
thrown in %sbug64966.php on line 3
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #64988 (Class loading order affects E_STRICT warning)
--FILE--
<?php
abstract class Base1 {
public function insert(array $data){
return array_reverse($data);
}
}
class Noisy1 extends Base1 {
public function insert(array $data, $option1 = Null) {
if (!empty($option1)) {
$data['option1'] = $option1;
}
return parent::insert($data);
}
}
class Smooth1 extends Noisy1 {
public function insert(array $data) {
return parent::insert($data, count($data));
}
}
$o = new Smooth1();
echo "okey";
?>
--EXPECTF--
Strict Standards: Declaration of Smooth1::insert() should be compatible with Noisy1::insert(array $data, $option1 = NULL) in %sbug64988.php on line 20
okey
+27
View File
@@ -0,0 +1,27 @@
--TEST--
Bug #65108 (is_callable() triggers Fatal Error)
--FILE--
<?php
class C {
private function f() {}
static function __callStatic($name, $args) {}
}
class B {
public function B() {
$isCallable = is_callable(array(new C, 'f'));
var_dump($isCallable);
}
}
new B();
Class E {
private function f() {}
function __call($name, $args) {}
}
$isCallable = is_callable(array('E', 'f'));
var_dump($isCallable);
--EXPECT--
bool(false)
bool(false)
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Bug #65254 (Exception not catchable when exception thrown in autoload with a namespace)
--FILE--
<?php
function __autoload($class)
{
eval("namespace ns_test; class test {}");
throw new \Exception('abcd');
}
try
{
\ns_test\test::go();
}
catch (Exception $e)
{
echo 'caught';
}
--EXPECT--
caught
+25
View File
@@ -0,0 +1,25 @@
--TEST--
Bug #65291 - get_defined_constants() causes PHP to crash in a very limited case.
--FILE--
<?php
trait TestTrait
{
public static function testStaticFunction()
{
return __CLASS__;
}
}
class Tester
{
use TestTrait;
}
$foo = Tester::testStaticFunction();
get_defined_constants();
get_defined_constants(true);
echo $foo;
?>
--EXPECT--
Tester
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #65322: compile time errors won't trigger auto loading
--FILE--
<?php
spl_autoload_register(function($class) {
var_dump($class);
class B {}
});
set_error_handler(function($_, $msg, $file) {
var_dump($msg, $file);
new B;
});
eval('class A { function a() {} function __construct() {} }');
?>
--EXPECTF--
string(50) "Redefining already defined constructor for class A"
string(%d) "%s(%d) : eval()'d code"
string(1) "B"
+40
View File
@@ -0,0 +1,40 @@
--TEST--
Bug #65372 (Segfault in gc_zval_possible_root when return reference fails)
--FILE--
<?php
class ParentClass
{
private static $_OBJECTS;
public static function Get()
{
self::$_OBJECTS[1] = new ChildClass();
return self::$_OBJECTS[1];
}
}
class ChildClass extends ParentClass
{
public $Manager;
function __construct()
{
$this->Manager = $this;
}
public static function &GetCurrent()
{
return ChildClass::Get();
}
public static function &Get()
{
return parent::Get();
}
}
$staff = ChildClass::GetCurrent();
?>
--EXPECTF--
Notice: Only variable references should be returned by reference in %sbug65372.php on line 30
+29
View File
@@ -0,0 +1,29 @@
--TEST--
Bug #65579 (Using traits with get_class_methods causes segfault)
--FILE--
<?php
trait ParentTrait {
public function testMethod() { }
}
trait ChildTrait {
use ParentTrait {
testMethod as testMethodFromParentTrait;
}
public function testMethod() { }
}
class TestClass {
use ChildTrait;
}
$obj = new TestClass();
var_dump(get_class_methods($obj));
?>
--EXPECT--
array(2) {
[0]=>
string(10) "testMethod"
[1]=>
string(25) "testmethodfromparenttrait"
}
+20
View File
@@ -0,0 +1,20 @@
--TEST--
Bug #65911 (scope resolution operator - strange behavior with $this)
--FILE--
<?php
class A {}
class B
{
public function go()
{
$this->foo = 'bar';
echo A::$this->foo; // should not output 'bar'
}
}
$obj = new B();
$obj->go();
?>
--EXPECTF--
Fatal error: Access to undeclared static property: A::$this in %s on line %d
+10
View File
@@ -0,0 +1,10 @@
--TEST--
Bug #65969 (Chain assignment with T_LIST failure)
--FILE--
<?php
$obj = new stdClass;
list($a,$b) = $obj->prop = [1,2];
var_dump($a,$b);
--EXPECT--
int(1)
int(2)
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Bug #66218 zend_register_functions breaks reflection
--SKIPIF--
<?php
if (PHP_SAPI != "cli") die("skip CLI only test");
if (!function_exists("dl")) die("skip need dl");
?>
--FILE--
<?php
$tab = get_extension_funcs("standard");
$fcts = array("dl");
foreach ($fcts as $fct) {
if (in_array($fct, $tab)) {
echo "$fct Ok\n";
}
}
?>
Done
--EXPECTF--
dl Ok
Done
+26
View File
@@ -0,0 +1,26 @@
--TEST--
Bug #66286: Incorrect object comparison with inheritance
--FILE--
<?php
abstract class first {
protected $someArray = array();
}
class second extends first {
protected $someArray = array();
protected $someValue = null;
public function __construct($someValue) {
$this->someValue = $someValue;
}
}
$objFirst = new second('123');
$objSecond = new second('321');
var_dump ($objFirst == $objSecond);
?>
--EXPECT--
bool(false)
+1 -1
View File
@@ -3,7 +3,7 @@ Closure 044: Scope/bounding combination invariants; non static closures
--FILE--
<?php
/* A non-static closure has a bound instance if it has a scope
* and does't have an instance if it has no scope */
* and doesn't have an instance if it has no scope */
$nonstaticUnscoped = function () { var_dump(isset(A::$priv)); var_dump(isset($this)); };
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Error message in error handler during compilation
--FILE--
<?php
set_error_handler(function($_, $msg, $file) {
var_dump($msg, $file);
echo $undefined;
});
eval('class A { function a() {} function __construct() {} }');
?>
--EXPECTF--
string(50) "Redefining already defined constructor for class A"
string(%d) "%s(%d) : eval()'d code"
Notice: Undefined variable: undefined in %s on line %d
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
GC 007: Unreferensed array cycle
GC 007: Unreferenced array cycle
--INI--
zend.enable_gc=1
--FILE--
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
GC 008: Unreferensed object cycle
GC 008: Unreferenced object cycle
--INI--
zend.enable_gc=1
--FILE--
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
GC 009: Unreferensed array-object cycle
GC 009: Unreferenced array-object cycle
--INI--
zend.enable_gc=1
--FILE--
@@ -1,5 +1,5 @@
--TEST--
Overridding Conflicting Methods should not result in a notice/warning about collisions
Overriding Conflicting Methods should not result in a notice/warning about collisions
--FILE--
<?php
error_reporting(E_ALL);
+10 -10
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -43,10 +43,6 @@
# define GLOBAL_CONSTANTS_TABLE EG(zend_constants)
#endif
#if defined(ZEND_WIN32) && ZEND_DEBUG
BOOL WINAPI IsDebuggerPresent(VOID);
#endif
/* true multithread-shared globals */
ZEND_API zend_class_entry *zend_standard_class_def = NULL;
ZEND_API int (*zend_printf)(const char *format, ...);
@@ -131,7 +127,7 @@ ZEND_API zval zval_used_for_init; /* True global variable */
/* version information */
static char *zend_version_info;
static uint zend_version_info_length;
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2013 Zend Technologies\n"
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2014 Zend Technologies\n"
#define PRINT_ZVAL_INDENT 4
static void print_hash(zend_write_func_t write_func, HashTable *ht, int indent, zend_bool is_object TSRMLS_DC) /* {{{ */
@@ -1091,17 +1087,19 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
error_filename = "Unknown";
}
va_start(args, format);
#ifdef HAVE_DTRACE
if(DTRACE_ERROR_ENABLED()) {
char *dtrace_error_buffer;
va_start(args, format);
zend_vspprintf(&dtrace_error_buffer, 0, format, args);
DTRACE_ERROR(dtrace_error_buffer, error_filename, error_lineno);
DTRACE_ERROR(dtrace_error_buffer, (char *)error_filename, error_lineno);
efree(dtrace_error_buffer);
va_end(args);
}
#endif /* HAVE_DTRACE */
va_start(args, format);
/* if we don't have a user defined error handler */
if (!EG(user_error_handler)
|| !(EG(user_error_handler_error_reporting) & type)
@@ -1181,7 +1179,7 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
* such scripts recursivly, but some CG() variables may be
* inconsistent. */
in_compilation = zend_is_compiling(TSRMLS_C);
in_compilation = CG(in_compilation);
if (in_compilation) {
saved_class_entry = CG(active_class_entry);
CG(active_class_entry) = NULL;
@@ -1193,6 +1191,7 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
SAVE_STACK(declare_stack);
SAVE_STACK(list_stack);
SAVE_STACK(context_stack);
CG(in_compilation) = 0;
}
if (call_user_function_ex(CG(function_table), NULL, orig_user_error_handler, &retval, 5, params, 1, NULL TSRMLS_CC) == SUCCESS) {
@@ -1217,6 +1216,7 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */
RESTORE_STACK(declare_stack);
RESTORE_STACK(list_stack);
RESTORE_STACK(context_stack);
CG(in_compilation) = 1;
}
if (!EG(user_error_handler)) {
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+19 -13
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -1143,7 +1143,7 @@ ZEND_API void object_properties_init(zend_object *object, zend_class_entry *clas
/* This function requires 'properties' to contain all props declared in the
* class and all props being public. If only a subset is given or the class
* has protected members then you need to merge the properties seperately by
* has protected members then you need to merge the properties separately by
* calling zend_merge_properties(). */
ZEND_API int _object_and_properties_init(zval *arg, zend_class_entry *class_type, HashTable *properties ZEND_FILE_LINE_DC TSRMLS_DC) /* {{{ */
{
@@ -2514,7 +2514,12 @@ ZEND_API int zend_register_class_alias_ex(const char *name, int name_len, zend_c
char *lcname = zend_str_tolower_dup(name, name_len);
int ret;
ret = zend_hash_add(CG(class_table), lcname, name_len+1, &ce, sizeof(zend_class_entry *), NULL);
if (lcname[0] == '\\') {
ret = zend_hash_add(CG(class_table), lcname+1, name_len, &ce, sizeof(zend_class_entry *), NULL);
} else {
ret = zend_hash_add(CG(class_table), lcname, name_len+1, &ce, sizeof(zend_class_entry *), NULL);
}
efree(lcname);
if (ret == SUCCESS) {
ce->refcount++;
@@ -2779,8 +2784,8 @@ static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fca
}
if ((check_flags & IS_CALLABLE_CHECK_NO_ACCESS) == 0 &&
(fcc->calling_scope &&
(fcc->calling_scope->__call ||
fcc->calling_scope->__callstatic))) {
((fcc->object_ptr && fcc->calling_scope->__call) ||
(!fcc->object_ptr && fcc->calling_scope->__callstatic)))) {
if (fcc->function_handler->op_array.fn_flags & ZEND_ACC_PRIVATE) {
if (!zend_check_private(fcc->function_handler, fcc->object_ptr ? Z_OBJCE_P(fcc->object_ptr) : EG(scope), lmname, mlen TSRMLS_CC)) {
retval = 0;
@@ -3917,15 +3922,16 @@ ZEND_API const char* zend_find_alias_name(zend_class_entry *ce, const char *name
{
zend_trait_alias *alias, **alias_ptr;
alias_ptr = ce->trait_aliases;
alias = *alias_ptr;
while (alias) {
if (alias->alias_len == len &&
!strncasecmp(name, alias->alias, alias->alias_len)) {
return alias->alias;
}
alias_ptr++;
if ((alias_ptr = ce->trait_aliases)) {
alias = *alias_ptr;
while (alias) {
if (alias->alias_len == len &&
!strncasecmp(name, alias->alias, alias->alias_len)) {
return alias->alias;
}
alias_ptr++;
alias = *alias_ptr;
}
}
return name;
+4 -4
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -90,7 +90,7 @@ typedef struct _zend_fcall_info_cache {
#define ZEND_NS_RAW_FENTRY(ns, zend_name, name, arg_info, flags) ZEND_RAW_FENTRY(ZEND_NS_NAME(ns, zend_name), name, arg_info, flags)
#define ZEND_NS_RAW_NAMED_FE(ns, zend_name, name, arg_info) ZEND_NS_RAW_FENTRY(ns, #zend_name, name, arg_info, 0)
#define ZEND_NS_NAMED_FE(ns, zend_name, name, arg_info) ZEND_NS_FENTRY(ns, #zend_name, name, arg_info, 0)
#define ZEND_NS_NAMED_FE(ns, zend_name, name, arg_info) ZEND_NS_FENTRY(ns, zend_name, name, arg_info, 0)
#define ZEND_NS_FE(ns, name, arg_info) ZEND_NS_FENTRY(ns, name, ZEND_FN(name), arg_info, 0)
#define ZEND_NS_DEP_FE(ns, name, arg_info) ZEND_NS_FENTRY(ns, name, ZEND_FN(name), arg_info, ZEND_ACC_DEPRECATED)
#define ZEND_NS_FALIAS(ns, name, alias, arg_info) ZEND_NS_FENTRY(ns, name, ZEND_FN(alias), arg_info, 0)
@@ -461,7 +461,7 @@ ZEND_API extern const zend_fcall_info_cache empty_fcall_info_cache;
*/
ZEND_API int zend_fcall_info_init(zval *callable, uint check_flags, zend_fcall_info *fci, zend_fcall_info_cache *fcc, char **callable_name, char **error TSRMLS_DC);
/** Clear argumens connected with zend_fcall_info *fci
/** Clear arguments connected with zend_fcall_info *fci
* If free_mem is not zero then the params array gets free'd as well
*/
ZEND_API void zend_fcall_info_args_clear(zend_fcall_info *fci, int free_mem);
@@ -499,7 +499,7 @@ ZEND_API int zend_fcall_info_argv(zend_fcall_info *fci TSRMLS_DC, int argc, va_l
ZEND_API int zend_fcall_info_argn(zend_fcall_info *fci TSRMLS_DC, int argc, ...);
/** Call a function using information created by zend_fcall_info_init()/args().
* If args is given then those replace the arguement info in fci is temporarily.
* If args is given then those replace the argument info in fci is temporarily.
*/
ZEND_API int zend_fcall_info_call(zend_fcall_info *fci, zend_fcall_info_cache *fcc, zval **retval, zval *args TSRMLS_DC);
+3 -3
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -2461,7 +2461,7 @@ static inline size_t safe_address(size_t nmemb, size_t size, size_t offset)
size_t res = nmemb;
unsigned long overflow = 0;
__asm__ ("mull %3\n\taddl %4,%0\n\tadcl %1,%1"
__asm__ ("mull %3\n\taddl %4,%0\n\tadcl $0,%1"
: "=&a"(res), "=&d" (overflow)
: "%0"(res),
"rm"(size),
@@ -2489,7 +2489,7 @@ static inline size_t safe_address(size_t nmemb, size_t size, size_t offset)
__asm__ ("mul" LP_SUFF " %3\n\t"
"add %4,%0\n\t"
"adc %1,%1"
"adc $0,%1"
: "=&a"(res), "=&d" (overflow)
: "%0"(res),
"rm"(size),
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+49 -33
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -1399,15 +1399,8 @@ ZEND_FUNCTION(class_alias)
return;
}
if (!autoload) {
lc_name = do_alloca(class_name_len + 1, use_heap);
zend_str_tolower_copy(lc_name, class_name, class_name_len);
found = zend_lookup_class_ex(class_name, class_name_len, NULL, autoload, &ce TSRMLS_CC);
found = zend_hash_find(EG(class_table), lc_name, class_name_len+1, (void **) &ce);
free_alloca(lc_name, use_heap);
} else {
found = zend_lookup_class(class_name, class_name_len, &ce TSRMLS_CC);
}
if (found == SUCCESS) {
if ((*ce)->type == ZEND_USER_CLASS) {
if (zend_register_class_alias_ex(alias_name, alias_name_len, *ce TSRMLS_CC) == SUCCESS) {
@@ -1926,6 +1919,11 @@ static int add_constant_info(zend_constant *constant, void *arg TSRMLS_DC)
zval *name_array = (zval *)arg;
zval *const_val;
if (!constant->name) {
/* skip special constants */
return 0;
}
MAKE_STD_ZVAL(const_val);
*const_val = constant->value;
zval_copy_ctor(const_val);
@@ -1993,11 +1991,16 @@ ZEND_FUNCTION(get_defined_constants)
while (zend_hash_get_current_data_ex(EG(zend_constants), (void **) &val, &pos) != FAILURE) {
zval *const_val;
if (!val->name) {
/* skip special constants */
goto next_constant;
}
if (val->module_number == PHP_USER_CONSTANT) {
module_number = i;
} else if (val->module_number > i || val->module_number < 0) {
/* should not happen */
goto bad_module_id;
goto next_constant;
} else {
module_number = val->module_number;
}
@@ -2014,7 +2017,7 @@ ZEND_FUNCTION(get_defined_constants)
INIT_PZVAL(const_val);
add_assoc_zval_ex(modules[module_number], val->name, val->name_len, const_val);
bad_module_id:
next_constant:
zend_hash_move_forward_ex(EG(zend_constants), &pos);
}
efree(module_names);
@@ -2386,7 +2389,7 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int
MAKE_STD_ZVAL(arg_array);
array_init(arg_array);
/* include_filename always points to the last filename of the last last called-fuction.
/* include_filename always points to the last filename of the last last called-function.
if we have called include in the frame above - this is the file we have included.
*/
@@ -2449,36 +2452,49 @@ ZEND_FUNCTION(extension_loaded)
Returns an array with the names of functions belonging to the named extension */
ZEND_FUNCTION(get_extension_funcs)
{
char *extension_name;
int extension_name_len;
char *extension_name, *lcname;
int extension_name_len, array;
zend_module_entry *module;
const zend_function_entry *func;
HashPosition iterator;
zend_function *zif;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &extension_name, &extension_name_len) == FAILURE) {
return;
}
if (strncasecmp(extension_name, "zend", sizeof("zend"))) {
char *lcname = zend_str_tolower_dup(extension_name, extension_name_len);
if (zend_hash_find(&module_registry, lcname,
extension_name_len+1, (void**)&module) == FAILURE) {
efree(lcname);
RETURN_FALSE;
}
efree(lcname);
if (!(func = module->functions)) {
RETURN_FALSE;
}
lcname = zend_str_tolower_dup(extension_name, extension_name_len);
} else {
func = builtin_functions;
lcname = estrdup("core");
}
if (zend_hash_find(&module_registry, lcname,
extension_name_len+1, (void**)&module) == FAILURE) {
efree(lcname);
RETURN_FALSE;
}
array_init(return_value);
zend_hash_internal_pointer_reset_ex(CG(function_table), &iterator);
if (module->functions) {
/* avoid BC break, if functions list is empty, will return an empty array */
array_init(return_value);
array = 1;
} else {
array = 0;
}
while (zend_hash_get_current_data_ex(CG(function_table), (void **) &zif, &iterator) == SUCCESS) {
if (zif->common.type==ZEND_INTERNAL_FUNCTION
&& zif->internal_function.module == module) {
if (!array) {
array_init(return_value);
array = 1;
}
add_next_index_string(return_value, zif->common.function_name, 1);
}
zend_hash_move_forward_ex(CG(function_table), &iterator);
}
while (func->fname) {
add_next_index_string(return_value, func->fname, 1);
func++;
efree(lcname);
if (!array) {
RETURN_FALSE;
}
}
/* }}} */
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+11 -10
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -905,6 +905,7 @@ static zend_bool opline_is_fetch_this(const zend_op *opline TSRMLS_DC) /* {{{ */
{
if ((opline->opcode == ZEND_FETCH_W) && (opline->op1_type == IS_CONST)
&& (Z_TYPE(CONSTANT(opline->op1.constant)) == IS_STRING)
&& ((opline->extended_value & ZEND_FETCH_STATIC_MEMBER) != ZEND_FETCH_STATIC_MEMBER)
&& (Z_HASH_P(&CONSTANT(opline->op1.constant)) == THIS_HASHVAL)
&& (Z_STRLEN(CONSTANT(opline->op1.constant)) == (sizeof("this")-1))
&& !memcmp(Z_STRVAL(CONSTANT(opline->op1.constant)), "this", sizeof("this"))) {
@@ -1723,7 +1724,7 @@ void zend_do_begin_function_declaration(znode *function_token, znode *function_n
}
{
/* Push a seperator to the switch and foreach stacks */
/* Push a separator to the switch and foreach stacks */
zend_switch_entry switch_entry;
switch_entry.cond.op_type = IS_UNUSED;
@@ -1817,7 +1818,7 @@ void zend_do_end_function_declaration(const znode *function_token TSRMLS_DC) /*
CG(active_op_array) = function_token->u.op_array;
/* Pop the switch and foreach seperators */
/* Pop the switch and foreach separators */
zend_stack_del_top(&CG(switch_cond_stack));
zend_stack_del_top(&CG(foreach_copy_stack));
}
@@ -2584,7 +2585,7 @@ static int generate_free_foreach_copy(const zend_op *foreach_copy TSRMLS_DC) /*
{
zend_op *opline;
/* If we reach the seperator then stop applying the stack */
/* If we reach the separator then stop applying the stack */
if (foreach_copy->result_type == IS_UNUSED && foreach_copy->op1_type == IS_UNUSED) {
return 1;
}
@@ -3267,11 +3268,11 @@ static void do_inheritance_check_on_method(zend_function *child, zend_function *
if (child->common.prototype && (child->common.prototype->common.fn_flags & ZEND_ACC_ABSTRACT)) {
if (!zend_do_perform_implementation_check(child, child->common.prototype TSRMLS_CC)) {
zend_error(E_COMPILE_ERROR, "Declaration of %s::%s() must be compatible with %s", ZEND_FN_SCOPE_NAME(child), child->common.function_name, zend_get_function_declaration(child->common.prototype? child->common.prototype : parent TSRMLS_CC));
zend_error(E_COMPILE_ERROR, "Declaration of %s::%s() must be compatible with %s", ZEND_FN_SCOPE_NAME(child), child->common.function_name, zend_get_function_declaration(child->common.prototype TSRMLS_CC));
}
} else if (EG(error_reporting) & E_STRICT || EG(user_error_handler)) { /* Check E_STRICT (or custom error handler) before the check so that we save some time */
if (!zend_do_perform_implementation_check(child, parent TSRMLS_CC)) {
char *method_prototype = zend_get_function_declaration(child->common.prototype? child->common.prototype : parent TSRMLS_CC);
char *method_prototype = zend_get_function_declaration(parent TSRMLS_CC);
zend_error(E_STRICT, "Declaration of %s::%s() should be compatible with %s", ZEND_FN_SCOPE_NAME(child), child->common.function_name, method_prototype);
efree(method_prototype);
}
@@ -3744,7 +3745,7 @@ static void zend_add_trait_method(zend_class_entry *ce, const char *name, const
#endif
} else {
/* inherited members are overridden by members inserted by traits */
/* check whether the trait method fullfills the inheritance requirements */
/* check whether the trait method fulfills the inheritance requirements */
do_inheritance_check_on_method(fn, existing_fn TSRMLS_CC);
}
}
@@ -3911,7 +3912,7 @@ static void zend_traits_init_trait_structures(zend_class_entry *ce TSRMLS_DC) /*
/** With the other traits, we are more permissive.
We do not give errors for those. This allows to be more
defensive in such definitions.
However, we want to make sure that the insteadof declartion
However, we want to make sure that the insteadof declaration
is consistent in itself.
*/
j = 0;
@@ -5479,7 +5480,7 @@ void zend_do_shell_exec(znode *result, const znode *cmd TSRMLS_DC) /* {{{ */
break;
}
SET_NODE(opline->op1, cmd);
opline->op2.opline_num = 0;
opline->op2.opline_num = 1;
opline->extended_value = ZEND_DO_FCALL;
SET_UNUSED(opline->op2);
@@ -6943,7 +6944,7 @@ ZEND_API size_t zend_dirname(char *path, size_t len)
}
#elif defined(NETWARE)
/*
* Find the first occurence of : from the left
* Find the first occurrence of : from the left
* move the path pointer to the position just after :
* increment the len_adjust to the length of path till colon character(inclusive)
* If there is no character beyond : simple return len
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+11 -13
View File
@@ -24,7 +24,7 @@
#ifdef HAVE_DTRACE
/* PHP DTrace probes {{{ */
static inline char *dtrace_get_executed_filename(TSRMLS_D)
static inline const char *dtrace_get_executed_filename(TSRMLS_D)
{
if (EG(current_execute_data) && EG(current_execute_data)->op_array) {
return EG(current_execute_data)->op_array->filename;
@@ -36,9 +36,9 @@ static inline char *dtrace_get_executed_filename(TSRMLS_D)
ZEND_API zend_op_array *dtrace_compile_file(zend_file_handle *file_handle, int type TSRMLS_DC)
{
zend_op_array *res;
DTRACE_COMPILE_FILE_ENTRY(file_handle->opened_path, file_handle->filename);
DTRACE_COMPILE_FILE_ENTRY(file_handle->opened_path, (char *)file_handle->filename);
res = compile_file(file_handle, type TSRMLS_CC);
DTRACE_COMPILE_FILE_RETURN(file_handle->opened_path, file_handle->filename);
DTRACE_COMPILE_FILE_RETURN(file_handle->opened_path, (char *)file_handle->filename);
return res;
}
@@ -47,7 +47,7 @@ ZEND_API zend_op_array *dtrace_compile_file(zend_file_handle *file_handle, int t
ZEND_API void dtrace_execute(zend_op_array *op_array TSRMLS_DC)
{
int lineno;
char *scope, *filename, *funcname, *classname;
const char *scope, *filename, *funcname, *classname;
scope = filename = funcname = classname = NULL;
/* we need filename and lineno for both execute and function probes */
@@ -58,48 +58,46 @@ ZEND_API void dtrace_execute(zend_op_array *op_array TSRMLS_DC)
}
if (DTRACE_FUNCTION_ENTRY_ENABLED() || DTRACE_FUNCTION_RETURN_ENABLED()) {
filename = dtrace_get_executed_filename(TSRMLS_C);
classname = get_active_class_name(&scope TSRMLS_CC);
funcname = get_active_function_name(TSRMLS_C);
lineno = zend_get_executed_lineno(TSRMLS_C);
}
if (DTRACE_EXECUTE_ENTRY_ENABLED()) {
DTRACE_EXECUTE_ENTRY(filename, lineno);
DTRACE_EXECUTE_ENTRY((char *)filename, lineno);
}
if (DTRACE_FUNCTION_ENTRY_ENABLED() && funcname != NULL) {
DTRACE_FUNCTION_ENTRY(funcname, filename, lineno, classname, scope);
DTRACE_FUNCTION_ENTRY((char *)funcname, (char *)filename, lineno, (char *)classname, (char *)scope);
}
execute(op_array TSRMLS_CC);
if (DTRACE_FUNCTION_RETURN_ENABLED() && funcname != NULL) {
DTRACE_FUNCTION_RETURN(funcname, filename, lineno, classname, scope);
DTRACE_FUNCTION_RETURN((char *)funcname, (char *)filename, lineno, (char *)classname, (char *)scope);
}
if (DTRACE_EXECUTE_RETURN_ENABLED()) {
DTRACE_EXECUTE_RETURN(filename, lineno);
DTRACE_EXECUTE_RETURN((char *)filename, lineno);
}
}
ZEND_API void dtrace_execute_internal(zend_execute_data *execute_data_ptr, int return_value_used TSRMLS_DC)
{
int lineno;
char *filename;
const char *filename;
if (DTRACE_EXECUTE_ENTRY_ENABLED() || DTRACE_EXECUTE_RETURN_ENABLED()) {
filename = dtrace_get_executed_filename(TSRMLS_C);
lineno = zend_get_executed_lineno(TSRMLS_C);
}
if (DTRACE_EXECUTE_ENTRY_ENABLED()) {
DTRACE_EXECUTE_ENTRY(filename, lineno);
DTRACE_EXECUTE_ENTRY((char *)filename, lineno);
}
execute_internal(execute_data_ptr, return_value_used TSRMLS_CC);
if (DTRACE_EXECUTE_RETURN_ENABLED()) {
DTRACE_EXECUTE_RETURN(filename, lineno);
DTRACE_EXECUTE_RETURN((char *)filename, lineno);
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+13 -5
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -85,12 +85,12 @@ void zend_throw_exception_internal(zval *exception TSRMLS_DC) /* {{{ */
{
#ifdef HAVE_DTRACE
if (DTRACE_EXCEPTION_THROWN_ENABLED()) {
char *classname;
int name_len;
const char *classname;
zend_uint name_len;
if (exception != NULL) {
zend_get_object_classname(exception, &classname, &name_len TSRMLS_CC);
DTRACE_EXCEPTION_THROWN(classname);
DTRACE_EXCEPTION_THROWN((char *)classname);
} else {
DTRACE_EXCEPTION_THROWN(NULL);
}
@@ -817,6 +817,10 @@ ZEND_API void zend_exception_error(zval *exception, int severity TSRMLS_DC) /* {
if (instanceof_function(ce_exception, default_exception_ce TSRMLS_CC)) {
file = zend_read_property(default_exception_ce, EG(exception), "file", sizeof("file")-1, 1 TSRMLS_CC);
line = zend_read_property(default_exception_ce, EG(exception), "line", sizeof("line")-1, 1 TSRMLS_CC);
convert_to_string(file);
file = (Z_STRLEN_P(file) > 0) ? file : NULL;
line = (Z_TYPE_P(line) == IS_LONG) ? line : NULL;
} else {
file = NULL;
line = NULL;
@@ -828,7 +832,11 @@ ZEND_API void zend_exception_error(zval *exception, int severity TSRMLS_DC) /* {
file = zend_read_property(default_exception_ce, exception, "file", sizeof("file")-1, 1 TSRMLS_CC);
line = zend_read_property(default_exception_ce, exception, "line", sizeof("line")-1, 1 TSRMLS_CC);
zend_error_va(severity, Z_STRVAL_P(file), Z_LVAL_P(line), "Uncaught %s\n thrown", Z_STRVAL_P(str));
convert_to_string(str);
convert_to_string(file);
convert_to_long(line);
zend_error_va(severity, (Z_STRLEN_P(file) > 0) ? Z_STRVAL_P(file) : NULL, Z_LVAL_P(line), "Uncaught %s\n thrown", Z_STRVAL_P(str));
} else {
zend_error(severity, "Uncaught exception '%s'", ce_exception->name);
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+2 -3
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -1248,9 +1248,8 @@ convert_to_array:
}
}
static void zend_fetch_dimension_address_read(temp_variable *result, zval **container_ptr, zval *dim, int dim_type, int type TSRMLS_DC)
static void zend_fetch_dimension_address_read(temp_variable *result, zval *container, zval *dim, int dim_type, int type TSRMLS_DC)
{
zval *container = *container_ptr;
zval **retval;
switch (Z_TYPE_P(container)) {
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+12 -6
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -254,15 +254,13 @@ void shutdown_executor(TSRMLS_D) /* {{{ */
if (EG(user_error_handler)) {
zeh = EG(user_error_handler);
EG(user_error_handler) = NULL;
zval_dtor(zeh);
FREE_ZVAL(zeh);
zval_ptr_dtor(&zeh);
}
if (EG(user_exception_handler)) {
zeh = EG(user_exception_handler);
EG(user_exception_handler) = NULL;
zval_dtor(zeh);
FREE_ZVAL(zeh);
zval_ptr_dtor(&zeh);
}
zend_stack_destroy(&EG(user_error_handlers_error_reporting));
@@ -1074,7 +1072,7 @@ ZEND_API int zend_lookup_class_ex(const char *name, int name_length, const zend_
}
/* The compiler is not-reentrant. Make sure we __autoload() only during run-time
* (doesn't impact fuctionality of __autoload()
* (doesn't impact functionality of __autoload()
*/
if (!use_autoload || zend_is_compiling(TSRMLS_C)) {
if (!key) {
@@ -1083,6 +1081,14 @@ ZEND_API int zend_lookup_class_ex(const char *name, int name_length, const zend_
return FAILURE;
}
/* Verify class name before passing it to __autoload() */
if (strspn(name, "0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377\\") != name_length) {
if (!key) {
free_alloca(lc_free, use_heap);
}
return FAILURE;
}
if (EG(in_autoload) == NULL) {
ALLOC_HASHTABLE(EG(in_autoload));
zend_hash_init(EG(in_autoload), 0, NULL, NULL, 0);
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+3 -3
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -106,7 +106,7 @@ typedef struct _zend_gc_globals {
gc_root_buffer *first_unused; /* pointer to first unused buffer */
gc_root_buffer *last_unused; /* pointer to last unused buffer */
zval_gc_info *zval_to_free; /* temporaryt list of zvals to free */
zval_gc_info *zval_to_free; /* temporary list of zvals to free */
zval_gc_info *free_list;
zval_gc_info *next_to_free;
@@ -199,7 +199,7 @@ static zend_always_inline void gc_remove_from_buffer(gc_root_buffer *root TSRMLS
GC_ZVAL_INIT(z); \
} while (0)
/* The following macroses override macroses from zend_alloc.h */
/* The following macros override macros from zend_alloc.h */
#undef ALLOC_ZVAL
#define ALLOC_ZVAL(z) \
do { \
+2 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -306,7 +306,7 @@ struct _zend_php_scanner_globals {
unsigned char *script_filtered;
size_t script_filtered_size;
/* input/ouput filters */
/* input/output filters */
zend_encoding_filter input_filter;
zend_encoding_filter output_filter;
const zend_encoding *script_encoding;
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -3,7 +3,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
Loaded 100 of 1594 files, more files were not shown because too many files have changed in this diff. Show more