Compare commits

..
Author SHA1 Message Date
Stanislav Malyshev 0d135ccbf0 5.4.17 2013-07-02 23:10:53 -07:00
Stanislav Malyshev f432141cd9 sync NEWS 2013-06-18 23:08:56 -07:00
Stanislav Malyshev e9b22042a7 5.4.17 RC1 2013-06-18 22:57:07 -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
Johannes Schlüter 898ddcb9e1 Merge branch 'PHP-5.3' into PHP-5.4 2013-05-08 18:02:35 +02:00
Johannes Schlüter 1cc2162b83 PHP 5.3.25 NEWS 2013-05-08 18:01:39 +02:00
Anatol Belski ec4388158d better fix for bug #64770 2013-05-04 12:19:52 +02:00
Anatol Belski f1e5127e7a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  better fix for bug #64770
2013-05-04 12:18:06 +02:00
Anatol Belski 5c701d19ac better fix for bug #64770 2013-05-04 12:16:38 +02:00
Boris Lytochkin 8c3b8f39aa remove OS-specific OIDs from
'WALK multiple on single OID with OID suffix as keys' test part
2013-05-04 00:04:52 +04:00
Boris Lytochkin c34274acb8 re-work walkaround for net-snmp BUGid 2027834, no need to detect it anymore
add test for Bug #64159
bump default buffer size for values(32->512): do not reallocate buffers in 99% cases
2013-05-03 23:06:34 +04:00
Boris Lytochkin 3a413f216a 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:
  updated NEWS
  Fixed bug #64770 stream_select() fails with pipes
2013-05-03 19:24:24 +04:00
Boris Lytochkin f1269d80c5 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:
  Fixed bug #64770 stream_select() fails with pipes
2013-05-03 19:23:46 +04:00
Anatol Belski b1c24d1eac updated NEWS 2013-05-03 17:04:26 +02:00
Anatol Belski aa4762572e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #64770 stream_select() fails with pipes
2013-05-03 17:03:16 +02:00
Anatol Belski b1ea0b7a7a Fixed bug #64770 stream_select() fails with pipes
returned by proc_open() on Windows x64
2013-05-03 17:01:33 +02:00
Boris Lytochkin e36adfe94a Fixed bug #64159 (Truncated snmpget) 2013-05-03 15:35:09 +04:00
Boris Lytochkin a39282b64d update NEWS 2013-05-03 12:15:35 +04:00
Boris Lytochkin 3828f6227b Fix bug #64765 (enclose IPv6 address into square brackets) 2013-05-03 12:13:50 +04:00
Boris Lytochkin 5af2c5d202 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: (109 commits)
  NEWS
  NEWS
  From code coverity scan, syscall return value must be check.
  fix more resource leaks
  From code coverity scan - fix some memory leak - fix some resources leak (fd) - create fpm_worker_pool_free (shared use) - possible null dref (wp->user and wp->home can be null)
  fixed size array cannot be null
  use limit_extensions as we use security_limit_extensions later (free)
  unused variable
  fix possible null deref (detected by code coverity scan)
  Remove trailing space in NEWS
  NEWS for 514afd67
  Fix bug #64729: compilation failure on x32
  When Apache use RewriteRule to redirect, via mod_proxy_fgi, to php-fpm the SCRIPT_FILENAME may contains the QUERY_STRING.
  Revert "Add CURL_WRAPPERS_ENABLE constant"
  Also fixed bug #64726 in 5.3
  Fixed bug #64726 (Segfault when calling fetch_object on a use_result and DB pointer has closed)
  Fix memory realted to #64726
  updated libmagic.patch
  Fixed bug bug #64713 Compilation warnings in finfo
  Fix Test Bug #64714
  ...
2013-05-03 11:22:16 +04:00
Boris Lytochkin aa448adc83 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: (39 commits)
  NEWS
  From code coverity scan, syscall return value must be check.
  fix more resource leaks
  From code coverity scan - fix some memory leak - fix some resources leak (fd) - create fpm_worker_pool_free (shared use) - possible null dref (wp->user and wp->home can be null)
  fixed size array cannot be null
  use limit_extensions as we use security_limit_extensions later (free)
  unused variable
  fix possible null deref (detected by code coverity scan)
  Also fixed bug #64726 in 5.3
  Fix memory realted to #64726
  Fix Test Bug #64714
  PHP 5.3.26 this will be
  Fix NEWS
  Fix bug #64458 (dns_get_record result with string of length -1)
  Fixed incorrect check. SEND_REF may be executed before DO_FCALL when EX(function_state).function is not yet set to the calling function.
  Fixed stream_socket_pair() on Windows x64 and
  - Updated to version 2013.3 (2013c)
  lower the limit, should fit in a byte
  updated lib versions
  allow lcov 1.10
  ...
2013-05-03 11:21:48 +04:00
Remi Collet 9996c310d1 NEWS 2013-05-03 08:30:47 +02:00
Remi Collet f087c53130 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  NEWS
2013-05-03 08:30:19 +02:00
Remi Collet 4a34d4a83c NEWS 2013-05-03 08:29:56 +02:00
Remi Collet 3fd4b6be63 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  From code coverity scan, syscall return value must be check.
2013-05-03 08:22:55 +02:00
Remi Collet 0549e55d82 From code coverity scan, syscall return value must be check.
To not alter current behaviour, we simply log the problem,
so, if it occurs, the message will give explanation.

This are only warning as they don't block the server,
but such fail can explain strange (not expected) behaviour later.
2013-05-03 08:19:14 +02:00
Remi Collet b7b150b830 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix more resource leaks
2013-05-02 13:47:36 +02:00
Remi Collet 444e59eb20 fix more resource leaks 2013-05-02 13:47:24 +02:00
Remi Collet 08b72ac9f1 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  From code coverity scan - fix some memory leak - fix some resources leak (fd) - create fpm_worker_pool_free (shared use) - possible null dref (wp->user and wp->home can be null)
2013-05-02 13:31:11 +02:00
Remi Collet 331540d20c From code coverity scan
- fix some memory leak
- fix some resources leak (fd)
- create fpm_worker_pool_free (shared use)
- possible null dref (wp->user and wp->home can be null)
2013-05-02 13:27:16 +02:00
Remi Collet c374b80dda Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fixed size array cannot be null
2013-05-02 10:32:54 +02:00
Remi Collet d0c40220d1 fixed size array cannot be null 2013-05-02 10:32:45 +02:00
Remi Collet 78c48af2f2 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  use limit_extensions as we use security_limit_extensions later (free)
  unused variable
2013-05-02 10:15:20 +02:00
Remi Collet 8492bbefbb use limit_extensions as we use security_limit_extensions later (free) 2013-05-02 10:15:12 +02:00
Remi Collet a7d6cb2360 unused variable 2013-05-02 10:15:05 +02:00
Remi Collet be3f7ba4fb Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix possible null deref (detected by code coverity scan)
2013-05-02 09:38:12 +02:00
Remi Collet ab117573cd fix possible null deref (detected by code coverity scan) 2013-05-02 09:38:00 +02:00
Gustavo Lopes 3f2f534a5c Remove trailing space in NEWS 2013-04-30 19:42:31 +02:00
Gustavo Lopes 1656b337ce NEWS for 514afd67 2013-04-30 19:41:27 +02:00
Gustavo Lopes 514afd67b6 Fix bug #64729: compilation failure on x32 2013-04-30 19:28:24 +02:00
Remi Collet 4a92ae3401 When Apache use RewriteRule to redirect, via mod_proxy_fgi, to php-fpm
the SCRIPT_FILENAME may contains the QUERY_STRING.

Ex : RewriteRule ^(.*)\.php$ fcgi://127.0.0.1:9000/$1.php [P]

From apache debug (build with -DFCGI_DUMP_ENV_VARS)
AH01062: sending env var 'SCRIPT_FILENAME' value 'proxy:fcgi://127.0.0.1:9000/var/www/html/info.php?foo'
AH01071: Got error 'Primary script unknown\n'
2013-04-30 08:55:18 +02:00
Stanislav Malyshev 4e773c1b92 Revert "Add CURL_WRAPPERS_ENABLE constant"
This reverts commit d7f709a032.
Since wrappers are deleted from 5.5, no point in adding this constant.
2013-04-28 22:26:05 -07:00
Xinchen Hui 7b9eabaf51 Merge branch 'PHP-5.3' into PHP-5.4 2013-04-27 23:50:02 +08:00
Xinchen Hui 15b554cd9b Also fixed bug #64726 in 5.3 2013-04-27 23:49:43 +08:00
Xinchen Hui 8f5a534b21 Fixed bug #64726 (Segfault when calling fetch_object on a use_result and DB pointer has closed) 2013-04-27 23:41:31 +08:00
Xinchen Hui d54432ed98 Merge branch 'PHP-5.3' into PHP-5.4 2013-04-27 23:38:10 +08:00
Xinchen Hui c7b8368ed5 Fix memory realted to #64726 2013-04-27 23:38:00 +08:00
Anatol Belski e9b03c412b updated libmagic.patch 2013-04-27 14:09:29 +02:00
Anatol Belski cdc1a63790 Fixed bug bug #64713 Compilation warnings in finfo 2013-04-27 13:49:50 +02:00
Matt Ficken 5adf1be45d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix Test Bug #64714
2013-04-25 11:37:09 -07:00
Matt Ficken bf5506f511 Fix Test Bug #64714 2013-04-25 11:34:57 -07:00
Johannes Schlüter 239ba8d58b Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	configure.in
	main/php_version.h
2013-04-25 18:05:19 +02:00
Johannes Schlüter 63434524f8 PHP 5.3.26 this will be 2013-04-25 18:02:53 +02:00
Johannes Schlüter 671ef9fda7 Fix NEWS 2013-04-25 17:58:02 +02:00
Stanislav Malyshev a58a279d7b 5.4.16-dev 2013-04-24 10:15:35 -07:00
Stanislav Malyshev 84e5c8a0e2 update credits 2013-04-23 22:02:57 -07:00
Stanislav Malyshev 5e24a6e74d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix bug #64458 (dns_get_record result with string of length -1)
2013-04-23 21:45:49 -07:00
Stanislav Malyshev 18fdab5a09 Fix bug #64458 (dns_get_record result with string of length -1) 2013-04-23 21:43:35 -07:00
Dmitry Stogov 43ab915b41 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed incorrect check. SEND_REF may be executed before DO_FCALL when EX(function_state).function is not yet set to the calling function.

Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2013-04-23 23:55:47 +04:00
Dmitry Stogov 4cf0647399 Fixed incorrect check. SEND_REF may be executed before DO_FCALL when EX(function_state).function is not yet set to the calling function. 2013-04-23 23:43:23 +04:00
Anatol Belski b3aa3c2616 updated NEWS 2013-04-22 18:59:47 +02:00
Anatol Belski 8febe2ad08 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed stream_socket_pair() on Windows x64 and
2013-04-22 18:59:11 +02:00
Anatol Belski f082d6311b Fixed stream_socket_pair() on Windows x64 and
improved errorhandling in the socketpair() implementation.
2013-04-22 18:55:32 +02:00
Derick Rethans 0b2c411323 Merge branch 'PHP-5.3' into PHP-5.4 2013-04-22 17:51:43 +01:00
Derick Rethans 70b67f2e50 - Updated to version 2013.3 (2013c) 2013-04-22 17:51:41 +01:00
Xinchen Hui b02241b968 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-04-21 11:11:02 +08:00
Antonio Diaz Ruiz 92bbe6be72 Includes 5 new phpTests to check that the error message DOM_NOT_FOUND is properly raised by the method DOMNode::insertBefore(newNode, [refNode]).
Each file covers a different test case

    DOMNode_insertBefore_error2.phpt: refNode is a sibling of the node where newNode wanted to be inserted.
    DOMNode_insertBefore_error3.phpt: refNode is the parent of the node where newNode wanted to be inserted.
    DOMNode_insertBefore_error4.phpt: refNode is a brand new node.
    DOMNode_insertBefore_error5.phpt: refNode is a descendant (not child) of the node where newNode wanted to be inserted.
    DOMNode_insertBefore_error6.phpt: refNode is the node where newNode wanted to be inserted.
2013-04-21 11:05:59 +08:00
Andrey Hristov 39cc08c7e9 Merge branch 'PHP-5.3' into PHP-5.4 2013-04-19 15:55:46 +02:00
Andrey Hristov 0802961bd1 lower the limit, should fit in a byte 2013-04-19 15:54:35 +02:00
Anatol Belski ecf76e2da8 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  updated lib versions
  allow lcov 1.10
2013-04-17 13:18:00 +02:00
Anatol Belski fb955a613c updated lib versions 2013-04-17 13:17:32 +02:00
Anatol Belski 4fbe1173eb fixed EOL 2013-04-17 13:15:08 +02:00
Anatol Belski 323fdb9879 updated lib versions 2013-04-17 13:12:18 +02:00
Nuno Lopes a9271a8b0d allow lcov 1.10 2013-04-13 16:57:25 -04:00
Nuno Lopes e694d40963 allow lcov 1.10 2013-04-13 16:56:30 -04:00
Xinchen Hui ba292b037f Fixed bug (Wrong ce cached) 2013-04-11 14:28:42 +08:00
Pierre Joye 4475dbf11d Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-04-11 06:58:04 +02:00
Pierre Joye 684f4d5272 lucky that the name is not used, fix name of encoder 2013-04-11 06:42:38 +02:00
Anatol Belski b6d54faa92 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-04-10 20:51:32 +02:00
Anatol Belski 56b028e590 Merge branch 'PHP-5.3' of git.php.net:php-src into PHP-5.3 2013-04-10 20:50:57 +02:00
Anatol Belski 782085bbfb updated NEWS 2013-04-10 20:44:41 +02:00
Anatol Belski ceb5b684e0 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #64342 ZipArchive::addFile() has to check for file existence
2013-04-10 20:40:28 +02:00
Anatol Belski 968ae4a56a Fixed bug #64342 ZipArchive::addFile() has to check for file existence 2013-04-10 20:39:17 +02:00
Pierre Joye c480bf3fb2 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  add external 2.1 detection and fix gd_compat for 2.1+
2013-04-10 20:13:18 +02:00
Pierre Joye 224a67fb9f add external 2.1 detection and fix gd_compat for 2.1+ 2013-04-10 20:12:25 +02:00
Johannes Schlüter 442ff25187 PHP 5.4.14 release date 2013-04-10 09:45:16 +02:00
Johannes Schlüter 146d786137 Merge branch 'PHP-5.3' into PHP-5.4 2013-04-10 09:44:34 +02:00
Johannes Schlüter ecdf8bcc45 PHP 5.3.24 release date 2013-04-10 09:41:21 +02:00
Pierre Joye aab5659357 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix possible NULL deref
2013-04-09 10:09:36 +02:00
Pierre Joye 88b3cdc4e9 fix possible NULL deref 2013-04-09 10:09:17 +02:00
Pierre Joye 10d62de4aa Merge branch 'PHP-5.3' into PHP-5.4
# By Pierre Joye (1) and Rasmus Lerdorf (1)
* PHP-5.3:
  fix null deref
  Fixed bugs #47675 and #64577 (fd leak on Solaris)
2013-04-09 10:04:17 +02:00
Pierre Joye 4d4adf47e0 fix null deref 2013-04-09 10:04:01 +02:00
Anatol Belski a35d386612 updated libmagic.patch 2013-04-08 16:23:43 +02:00
Anatol Belski 9de5dcad1c fix ident 2013-04-08 15:51:22 +02:00
Anatol Belski f3ca1155d6 Refactored the previous memleak fix
to avoid usage of a freed pointer. Thanks Laruence )
2013-04-08 14:32:37 +02:00
Anatol Belski 28e26b0fad fix memory leak at apprentice.c:1095 2013-04-08 12:49:53 +02:00
Anatol Belski b0b81c0a37 fixed EOL 2013-04-08 09:20:43 +02:00
Anatol Belski 10367fa7c6 upgraded libmagic to 5.14 2013-04-07 22:15:56 +02:00
Carson McDonald 39bc1bd25f Fix typo 2013-04-05 23:27:34 +08:00
Xinchen Hui 1bcaf771dc Constant has been renamed 2013-04-05 14:25:54 +08:00
Rasmus Lerdorf 569eddce0f Fixed bugs #47675 and #64577 (fd leak on Solaris) 2013-04-04 19:22:28 -07:00
Rasmus Lerdorf 1b60c189ad Fixed bugs #47675 and #64577 (fd leak on Solaris) 2013-04-04 19:15:52 -07:00
Xinchen Hui 185e5e15ae s ,CURL_WRAPPERS_ENABLE,CURL_WRAPPERS_ENABLED, 2013-04-04 19:28:17 +08:00
Xinchen Hui 4f2acd8cde Update test script to make sure the error occurred 2013-04-04 14:55:17 +08:00
Xinchen Hui 846d298f9b Merge branch 'PHP-5.3' into PHP-5.4 2013-04-04 14:53:06 +08:00
Xinchen Hui 9883d8d3e5 no tab here 2013-04-04 14:52:59 +08:00
Xinchen Hui 934dfae4e1 no tab here 2013-04-04 14:52:27 +08:00
Xinchen Hui 82ac3106e0 Use 5.4 specifical warnnig & Update NEWs 2013-04-04 14:47:49 +08:00
Xinchen Hui f4f8b5a94b Merge branch 'PHP-5.3' into PHP-5.4 2013-04-04 14:44:28 +08:00
Xinchen Hui c96a5bc6be Fixed bug #64578 (debug_backtrace in set_error_handler corrupts zend heap: segfault) 2013-04-04 14:34:11 +08:00
Xinchen Hui db3d629f05 Merge branch 'PHP-5.3' into PHP-5.4 2013-04-04 13:40:46 +08:00
Xinchen Hui 7fc8077e4c Fixed Bug #64578 2013-04-04 13:40:21 +08:00
ptarjan 99ad08f9a5 Fix #64572: Clean up after the test
Lets not leave stuff lying around.
2013-04-03 18:50:27 +08:00
ptarjan e8d80b770b Fix #64572: Clean up after the test
Lets not leave stuff lying around.
2013-04-03 18:50:18 +08:00
Xinchen Hui e34767d426 format 2013-04-03 10:20:33 +08:00
Xinchen Hui 78a9489f6a Use new constant replace ugly trick 2013-04-03 10:12:49 +08:00
Xinchen Hui 37b20a1bc2 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-04-03 10:11:33 +08:00
Xinchen Hui d7f709a032 Add CURL_WRAPPERS_ENABLE constant
see http://news.php.net/php.internals/66871
2013-04-03 10:09:51 +08:00
Remi Collet c51e32860a NEW for #64565 2013-04-02 16:33:54 +02:00
Remi Collet 731a5c5104 keep previous test to avoid any behavior change 2013-04-02 16:31:36 +02:00
Remi Collet 8e8a75444c fix comment 2013-04-02 16:24:00 +02:00
Remi Collet 6b4148bc97 Fixed Bug #64565 copy doesn't report failure on partial copy
_php_stream_copy_to_stream_ex, when mmap is possible, doesn't check
if actually written bytes match read bytes.

Fix this (paranoid check) to be consistent with non mmap mode

Seems hard to add a unit test, as this rely on a full filesystem.
2013-04-02 16:18:26 +02:00
Xinchen Hui 7b07d05917 Merge branch 'PHP-5.3' into PHP-5.4 2013-04-01 18:13:38 +08:00
Xinchen Hui 9456dac54e Fix test 2013-04-01 18:12:16 +08:00
Xinchen Hui 72426a446d Skip test when --with-curlwrappers enabled. 2013-03-31 21:22:48 +08:00
Sergey Akbarov 1d4fcdff9f Fix bug #64433: does not follow redirects for non-3xx response codes 2013-03-30 21:22:30 -07:00
Nikita Popov 92aa361bfc Forgot to fix the test on 5.4 2013-03-28 18:42:01 +01:00
Nikita Popov bbe9052ca3 Merge branch 'PHP-5.3' into PHP-5.4 2013-03-28 18:41:34 +01:00
Nikita Popov fecce5a55f Exclude Travis build for 5.3 and 5.4 2013-03-28 18:40:57 +01:00
Xinchen Hui ef93a93ee2 Attempt to fix SKIP 2013-03-28 23:22:20 +08:00
Johannes Schlüter 242d88c20c Merge branch 'PHP-5.3' into PHP-5.4 2013-03-28 15:08:30 +01:00
Johannes Schlüter 46ee57f2d7 This will PHP 5.3.25 2013-03-28 15:05:46 +01:00
Veres Lajos 124a867b6a Typo fix (greater then => greater than) 2013-03-28 19:12:08 +08:00
Remi Collet 640e72ce91 With pkgconfig < 0.28 output is a single space
With pkgconfig = 0.28 output is an empty string,
This breaks the test on the 2 vars

Need to split when
LIB set (ex -lssl -lcrypto)
INC empty (because /usr/include used)
2013-03-28 10:22:20 +01:00
Xinchen Hui ab089611e0 Fix test on Mac (\D shows up) 2013-03-28 14:34:08 +08:00
Xinchen Hui 55341ac0a8 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-03-28 13:54:04 +08:00
Xinchen Hui 467cd6a60f Add test for #64529 2013-03-28 13:45:42 +08:00
Stanislav Malyshev f982aaafa7 will be 5.4.15 2013-03-27 14:00:12 -07:00
Stanislav Malyshev 210d43d7a2 fix NEWS 2013-03-27 13:57:53 -07:00
Dmitry Stogov 85e5e60777 Fixed bug #64529 (Ran out of opcode space) 2013-03-28 00:03:40 +04:00
Xinchen Hui 1182a3356c Update test script 2013-03-26 11:50:47 +08:00
Xinchen Hui 5e9377ebd5 Fixed bug #64515 (Memoryleak when using the same variablename 2times in function declaration) 2013-03-26 11:44:57 +08:00
Dmitry Stogov e9f996c00d Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle exceptions properly). (Jeff Welch)

Conflicts:
	NEWS
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2013-03-25 15:23:49 +04:00
Dmitry Stogov c4686b4de9 Fixed bug #63914 (zend_do_fcall_common_helper_SPEC does not handle exceptions properly). (Jeff Welch) 2013-03-25 15:07:27 +04:00
Johannes Schlüter 6f560b0487 Document embedded server options in manpage 2013-03-24 17:32:30 +01:00
Johannes Schlüter de71f435d8 Merge branch 'PHP-5.3' into PHP-5.4 2013-03-24 17:32:00 +01:00
Johannes Schlüter 66682f5abe It's 2013, even for a manpage 2013-03-24 17:31:29 +01:00
Pierre Joye bb18fa448c - add reminder for checking return values 2013-03-24 13:27:00 +01:00
Pierre Joye 3af4896837 - fix x64 issues on windows with the various time types (overflow, signed and unsigned bits ops, etc.) causing crashes on start, error or log, must be done in win32/time.c for some of these functions too
Signed-off-by: Anatol Belski <ab@php.net>
2013-03-23 22:42:03 +01:00
Anatol Belski 04b492a5fe Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Reworked the changes for bug #64452
2013-03-23 20:59:47 +01:00
Anatol Belski 638c4b89b7 Reworked the changes for bug #64452 2013-03-23 20:57:59 +01:00
Anatol Belski 3654ff7366 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed possible precision loss in microtime
2013-03-23 17:47:39 +01:00
Anatol Belski b022e54bd1 Fixed possible precision loss in microtime
This is related to the fix for bug #64370. MSVC natively supports __int64 type,
so calculating with 32 bit ints is neither necessary nor reliable. Therefore
an older piece of code is reused.
2013-03-23 17:40:06 +01:00
Xinchen Hui 39a173b79b Fix bug in reflectionClass relate to #64239 2013-03-21 21:32:06 +08:00
Xinchen Hui 7dce0194c8 Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11) 2013-03-21 21:09:30 +08:00
Xinchen Hui 08624ea90d Fix test after f8b91d9acf 2013-03-21 15:57:21 +08:00
Xinchen Hui 0fd3572f4e Fixed bug #64432 (more empty delimiter warning in strX methods) 2013-03-21 11:14:10 +08:00
Anatol Belski 0881ff0466 updated NEWS 2013-03-20 09:13:13 +01:00
Anatol Belski 06a526be3e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #64452 Zip PHPTs crash intermittently
2013-03-20 09:12:33 +01:00
Anatol Belski bb935ff8dc Fixed bug #64452 Zip PHPTs crash intermittently 2013-03-20 09:10:10 +01:00
Anatol Belski cfd096fd7c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Backported fix for bug #62852
2013-03-19 21:22:09 +01:00
Anatol Belski 8d199c7c4f Backported fix for bug #62852 2013-03-19 21:19:55 +01:00
Carson McDonald c6f6bf88d8 Fix typos 2013-03-19 15:11:34 +01:00
Anatol Belski 7687b8b81c fix C90 compat 2013-03-19 14:42:18 +01:00
Dmitry Stogov 7b0993bfb4 Fixed bug #63976 (Parent class incorrectly using child constant in class property) 2013-03-19 16:59:01 +04:00
Dmitry Stogov 984561cfa8 Partial fix for bug #64239 2013-03-19 15:45:48 +04:00
Dmitry Stogov 84630a1109 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62343 (Show class_alias In get_declared_classes())
2013-03-19 14:59:08 +04:00
Dmitry Stogov 4a6291508d Fixed bug #62343 (Show class_alias In get_declared_classes()) 2013-03-19 14:56:53 +04:00
Dmitry Stogov e62bb03257 Fixed bug #64417 (ArrayAccess::&offsetGet() in a trait causes fatal error) 2013-03-19 12:48:23 +04:00
Stanislav Malyshev e25b2d7ea5 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix NEWS
2013-03-18 00:52:27 -07:00
Stanislav Malyshev 87c8ea15f2 fix NEWS 2013-03-18 00:52:15 -07:00
Stanislav Malyshev db4d473d53 fix NEWS 2013-03-18 00:51:16 -07:00
Boris Lytochkin 85d9d85ce2 more test coverage: missing square bracket error message 2013-03-17 20:40:15 +04:00
Boris Lytochkin 44197774c0 Fixed bug #61981 2013-03-17 20:29:14 +04:00
Boris Lytochkin b32405053f Fix bug #61981 2013-03-17 20:00:37 +04:00
Etienne Kneuss 5de1b08482 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Remove spurious int cast in between two longs
2013-03-16 18:20:06 +01:00
Etienne Kneuss 62364e6e01 Remove spurious int cast in between two longs 2013-03-16 18:19:14 +01:00
Anatol Belski 73c38eca5a updated NEWS 2013-03-15 19:11:53 +01:00
Anatol Belski 90c8f16c3b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Backported patch for #64370
2013-03-15 19:08:32 +01:00
Anatol Belski b903d2d6cd Backported patch for #64370 2013-03-15 19:04:40 +01:00
Ferenc Kovacs 30eff1a697 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  explain the step updating the git submodule reference in web/php.git
2013-03-15 09:41:34 +01:00
Ferenc Kovacs 9350f45aca explain the step updating the git submodule reference in web/php.git 2013-03-15 09:40:28 +01:00
Anatol Belski 5df8cf1975 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix zts check
2013-03-14 14:39:09 +01:00
Anatol Belski e43c5a8395 fix zts check 2013-03-14 14:38:20 +01:00
Andrey Hristov 0777a18703 Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	NEWS
2013-03-13 14:24:23 +01:00
Andrey Hristov f1e2edff8b fix for bug #63530 mysqlnd_stmt::bind_one_parameter uses wrong alloc for stmt->param_bind 2013-03-13 13:37:51 +01:00
Anatol Belski a328cc452e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fixed headers order
2013-03-12 08:34:16 +01:00
Anatol Belski bdaafe3c7b fixed headers order 2013-03-12 08:33:36 +01:00
Derick Rethans 98bb5f4798 Merge branch 'PHP-5.3' into PHP-5.4 2013-03-11 21:36:37 +00:00
Derick Rethans 50ad2af503 - Updated to version 2013.2 (2013b) 2013-03-11 21:36:36 +00:00
Xinchen Hui 0444708c5c Disable zend_always_inline in debug build
it will be much more easier for debuging
2013-03-11 15:15:22 +08:00
Xinchen Hui 7197f0ffcc Fixed confused exception message while user threw exception 2013-03-09 23:08:14 +08:00
Xinchen Hui f52b2e6a65 Fixed bug #64354 (Unserialize array of objects whose class can't be autoloaded fail)
about the __sleep one, since php_serialize_* are all void function,
so,,only check exception at the very begining
2013-03-09 23:00:58 +08:00
Xinchen Hui 6fece94369 Fix date 2013-03-09 11:37:41 +08:00
Stanislav Malyshev 38847482c8 fix NEWS 2013-03-06 00:44:43 -08:00
Anatol Belski 4e46a87392 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed PCRE locale crash in Windows/TS
2013-03-04 09:14:14 +01:00
Stephen A. Zarkos b6fdb60ecf Fixed PCRE locale crash in Windows/TS 2013-03-04 09:09:45 +01:00
Stanislav Malyshev 2578f7bcc0 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  rename NEWS back
  updated NEWS
2013-03-03 13:20:57 -08:00
Stanislav Malyshev 656fcb67f1 rename NEWS back 2013-03-03 13:18:58 -08:00
Anatol Belski d95faef1a1 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src:
  Rename to create a NEWS file per version to fix the annoying merging issue with NEWS files.
  Rename to create a NEWS file per version to fix the annoying merging issue with NEWS files.
2013-03-03 19:22:35 +01:00
Anatol Belski fe2612d71e Merge branch 'PHP-5.3' of git.php.net:php-src into PHP-5.3
* 'PHP-5.3' of git.php.net:php-src:
  Rename to create a NEWS file per version to fix the annoying merging issue with NEWS files.
2013-03-03 19:21:45 +01:00
Anatol Belski 00ecc12c0f updated NEWS 2013-03-03 19:14:50 +01:00
Anatol Belski faf14e9b2e Merge commit 'NEWS' into PHP-5.4
* commit 'NEWS':
  This commit was manufactured by cvs2svn to create tag 'NEWS'.
2013-03-03 19:14:17 +01:00
Anatol Belski e1023affc1 updated NEWS 2013-03-03 19:13:38 +01:00
Derick Rethans 6c2564766f Rename to create a NEWS file per version to fix the annoying merging issue with NEWS files. 2013-03-03 13:09:52 -05:00
Derick Rethans 206cce0d8b Merge branch 'PHP-5.3' into PHP-5.4 2013-03-03 13:09:31 -05:00
Derick Rethans b36df28dca Rename to create a NEWS file per version to fix the annoying merging issue with NEWS files. 2013-03-03 13:08:19 -05:00
Anatol Belski ca4a3e6138 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  merged PCRE 8.32
2013-03-03 19:07:49 +01:00
Anatol Belski 357ab3cbad merged PCRE 8.32
- defined HAVE_CONFIG_H to simplify the future merges
- PCRE NEWS http://pcre.org/news.txt
2013-03-03 19:06:22 +01:00
Derick Rethans a3f020a4be Merge branch 'PHP-5.3' into PHP-5.4 2013-03-03 12:53:23 -05:00
Derick Rethans c134f2a1a5 - Updated to version 2013.1 (2013a) 2013-03-03 12:53:22 -05:00
Xinchen Hui fe5ce5cb91 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-03-03 11:25:08 +08:00
Xinchen Hui 9bda6a25a5 Fix test (skip on unable to create socket) 2013-03-03 11:24:45 +08:00
Dmitry Stogov ecf0cbdf3b Fixed timestamp update on Phar contents modification. 2013-03-01 19:17:25 +04:00
Dmitry Stogov b6656d0ec9 Fixed timestamp update on Phar contents modification. 2013-03-01 19:17:08 +04:00
Stanislav Malyshev 03dfa08da9 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  5.4.24-dev
  5.3.23RC1

Conflicts:
	configure.in
	main/php_version.h
2013-02-28 21:29:40 -08:00
Stanislav Malyshev 5c5bc7cf1b 5.4.24-dev 2013-02-28 21:25:36 -08:00
Stanislav Malyshev 8f533d2dfd 5.3.23RC1 2013-02-28 21:22:06 -08:00
Stanislav Malyshev 31a6f8b7f4 5.4.13 branched, now it's 5.4.14 2013-02-26 22:25:33 -08:00
Stanislav Malyshev 7ffb77d243 add news for SOAP fixes 2013-02-26 22:20:21 -08:00
Stanislav Malyshev 7c08232509 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Bug #52861: unset fails with ArrayObject and deep arrays
2013-02-26 22:12:36 -08:00
Mike Willbanks 61099f8585 Bug #52861: unset fails with ArrayObject and deep arrays
When checking to make into a reference write, readwrite are checked but not unset
2013-02-26 22:11:52 -08:00
Remi Collet 52d1add0fe add support for ppc64p7 arch (Power7 optimized) 2013-02-26 14:35:34 +01:00
Xinchen Hui d24ac6953e Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/spl/spl_fixedarray.c
2013-02-24 12:58:39 +08:00
Xinchen Hui 1b58bd39a6 Fixed bug #64264 (SPLFixedArray toArray problem) 2013-02-24 12:55:53 +08:00
Johannes Schlüter 064c62e4cf Fix #60840 (undefined symbol: mysqlnd_debug_std_no_trace_funcs) 2013-02-21 16:49:28 +01:00
Johannes Schlüter 1e9bc56775 Merge branch 'PHP-5.3' into PHP-5.4 2013-02-21 15:10:15 +01:00
Johannes Schlüter fcd4b5335a Fix TSRM (after afc1debb) 2013-02-21 15:08:58 +01:00
Dmitry Stogov b5d267aa95 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  PHAR should modify entry timestamp when it's modified
2013-02-21 15:57:26 +04:00
Dmitry Stogov 7b113d789d PHAR should modify entry timestamp when it's modified 2013-02-21 15:55:20 +04:00
Sara Golemon c16d6befd4 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  http-stream test requires network connectivity
2013-02-21 03:21:49 -08:00
Sara Golemon bc55a8eb9f http-stream test requires network connectivity 2013-02-21 03:21:23 -08:00
Xinchen Hui 9a44a9806c Fixed bug #64235 (Insteadof not work for class method in 5.4.11)
As we discussed with stefan, we think previous of allowing use with
classes is a bug, should be forbided, anyway, the error message should
be improved.
2013-02-21 18:18:41 +08:00
Anatol Belski bae95bd9d4 updated lib versions 2013-02-21 10:27:37 +01:00
Anatol Belski 07a13fd9fa Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  updated lib versions
2013-02-21 10:26:38 +01:00
Anatol Belski 81e9aa6c8d updated lib versions 2013-02-21 09:46:50 +01:00
Dmitry Stogov c737b89473 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed external entity loading

Conflicts:
	ext/libxml/libxml.c
	ext/libxml/php_libxml.h
2013-02-20 22:27:41 +04:00
Dmitry Stogov 8e76d0404b Fixed external entity loading 2013-02-20 22:14:59 +04:00
Johannes Schlüter 021f57ef0e Merge branch 'PHP-5.3' into PHP-5.4 2013-02-20 11:57:11 +01:00
Johannes Schlüter afc1debb2f 5.3.22 NEWS 2013-02-20 11:56:29 +01:00
Anatol Belski cc34dfce16 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix the test for curl 7.29.0+
2013-02-19 09:04:52 +01:00
Anatol Belski 558c5dbe65 fix the test for curl 7.29.0+ 2013-02-19 09:04:06 +01:00
Dmitry Stogov 42437dd870 Fixed bug #64070 (Inheritance with Traits failed with error) 2013-02-18 16:07:51 +04:00
Stanislav Malyshev 7b0107cc5d fix bug #61930: openssl corrupts ssl key resource when using openssl_get_publickey() 2013-02-17 13:28:42 -08:00
Stanislav Malyshev 92b1cb3ca0 update NEWS 2013-02-17 02:37:58 -08:00
Jonh Wendell 59b016192d Added HTTP codes as of RFC 6585
Added descriptions for the new HTTP codes:

- 428 Precondition Required
- 429 Too Many Requests
- 431 Request Header Fields Too Large
- 511 Network Authentication Required
2013-02-17 01:18:40 -08:00
Xinchen Hui 263accb626 Merge branch 'PHP-5.3' into PHP-5.4 2013-02-17 11:05:34 +08:00
Xinchen Hui 01ae5c3c2f Fixed bug #64228 (RecursiveDirectoryIterator always assumes SKIP_DOTS) 2013-02-17 11:04:36 +08:00
Xinchen Hui 375e3c273b Fix test failed after 0ea83ff847 2013-02-16 22:28:28 +08:00
Boris Lytochkin 68fa6a3eb7 +Fixed bug #64124 (IPv6 malformed). (Boris Lytochkin) 2013-02-14 23:08:08 +04:00
Dmitry Stogov 4b900f4831 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Proper bit reset code
2013-02-13 22:07:21 +04:00
Dmitry Stogov 188c196d4d Proper bit reset code 2013-02-13 22:06:37 +04:00
Ard Biesheuvel 050aae2860 Fixed bug #64197 (_Offsetof() macro used but not defined on ARM/Clang)
Updated the code to test for __ARMCC_VERSION instead of __arm, as
that is a more reliable indicator of whether the ARMCC compiler is
being used.
2013-02-13 12:22:50 +01:00
Remi Collet e67a2b9e47 Fixed bug #64142 (dval to lval different behavior on ppc64)
See discussion on internals
http://marc.info/?t=136042277700003&r=1&w=2
2013-02-11 09:10:51 +01:00
Stanislav Malyshev bfdb889d4f update NEWS 2013-02-09 23:02:26 -08:00
Moriyoshi Koizumi 0ea83ff847 mb_split() can now handle empty matches like preg_split() does. 2013-02-10 15:04:23 +09:00
Boris Lytochkin 92a7924c1a Merge branch 'PHP-5.4' of https://git.php.net/push/php-src into PHP-5.4 2013-02-07 21:43:37 +04:00
Dmitry Stogov 1a18e84822 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Disabled external entities loading
2013-02-07 16:09:12 +04:00
Dmitry Stogov afe98b7829 Disabled external entities loading 2013-02-07 16:07:05 +04:00
Boris Lytochkin ed6763420c fix bug #64124 (IPv6 malformed)
hostname returned from zend_parse_parameters() was modified in
netsnmp_session_init() that caused imput parameter modification along with
unpredictable changes when parameter is a constant sctring.

One typo in comment was fixed.
2013-02-07 14:48:28 +04:00
Dmitry Stogov 702b436ef4 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Check if soap.wsdl_cache_dir confirms to open_basedir
2013-02-07 13:10:04 +04:00
Dmitry Stogov cc4c318b0c Check if soap.wsdl_cache_dir confirms to open_basedir 2013-02-07 13:04:47 +04:00
Remi Collet e7ce002c01 revert 2013-02-05 12:28:47 +01:00
Remi Collet 6533094d9e Fixed bug #64142 (dval to lval different behavior on ppc64)
On x86_64:
(long)(double)9223372036854775807+1 = -9223372036854775808
On ppc64
(long)(double)9223372036854775807-1 = 9223372036854775807
2013-02-04 15:19:32 +01:00
Andrey Hristov 740b823be8 check the validity of the parameter 2013-02-04 14:27:56 +01:00
Andrey Hristov 643ce95b5b Merge branch 'PHP-5.4' of ssh://git.php.net/php-src into PHP-5.4 2013-02-04 14:15:58 +01:00
Gustavo Lopes 0110662ae9 Move macro back to .c file
Because it depends on a static function on that .c file.
2013-02-02 18:32:38 +01:00
Gustavo Lopes 73de4d8c68 Merge branch 'sockets_54_improv' into PHP-5.4
* sockets_54_improv:
  Fix wrong blocking state being set
  Fix tests (Windows)
  Remove a Windows only warning
  Move & improve PHP_SOCKET_ERROR def
  Move some declarations to sockets.c
  Fix overbroad skipif include
2013-02-02 15:31:44 +01:00
Gustavo Lopes ac6342bbc0 Fix wrong blocking state being set 2013-02-02 15:29:18 +01:00
Gustavo Lopes 40663ede83 Fix tests (Windows) 2013-02-02 15:29:18 +01:00
Gustavo Lopes 24e380f970 Remove a Windows only warning 2013-02-02 15:29:18 +01:00
Gustavo Lopes 9283b8aea4 Move & improve PHP_SOCKET_ERROR def 2013-02-02 15:29:11 +01:00
Gustavo Lopes 97d656fc82 Move some declarations to sockets.c 2013-02-02 14:06:23 +01:00
Gustavo Lopes a100c25ea4 Fix overbroad skipif include 2013-02-02 14:06:23 +01:00
Remi Collet 0cea9e6843 Fixed bug #64128 buit-in web server is broken on ppc64.
fdset management using bit operator is broken on non-x86 arch
and cause built-in server the enter an infinite loop of "select"
and never handle any request.
2013-02-01 19:23:25 +01:00
Andrey Hristov f45a85c386 add new charset, from MySQL 5.6 2013-02-01 17:21:50 +01:00
Johannes Schlüter b09f5a4f56 Fix typo in error message 2013-02-01 12:31:07 +01:00
Remi Collet 9d75bf35e9 Mark this test as requiring internet connecion. 2013-01-31 14:38:39 +01:00
Remi Collet f7362232f4 Fix failed test: sys_errlist[116] have changed on recent glibc (Fedora 18)
old: Stale NFS file handle
new: Stale file handle
2013-01-31 14:22:56 +01:00
Johannes Schlüter 9d6636364d Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	configure.in
	main/php_version.h
2013-01-31 00:58:52 +01:00
Johannes Schlüter a80fdc47b3 This will be PHP 5.3.23 2013-01-31 00:57:29 +01:00
Lars Strojny 836a2b1131 NEWS entry new OpenSSL option [doc] 2013-01-31 00:32:44 +01:00
Daniel Lowrey 4a01ddfb55 Added ssl context option, "disable_compression"
The CRIME attack vector exploits TLS compression. This patch adds a stream context option
allowing servers to disable TLS compression for versions of OpenSSL >= 1.0.0 (which first
introduced the SSL_OP_NO_COMPRESSION option). A summary rundown of the CRIME attack can
be found at https://community.qualys.com/blogs/securitylabs/2012/09/14/crime-information-leakage-attack-against-ssltls

Thanks to @DaveRandom for pointing out the relevant section of code.
2013-01-31 00:31:10 +01:00
Nikita Popov bb4d11b405 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-30 20:25:59 +01:00
Nikita Popov 321f4f18e5 Fixed bug #64106: Segfault on SplFixedArray[][x] = y when extended 2013-01-30 20:23:39 +01:00
Jelle Zijlstra 31468401b7 Fix build problem in C++11 2013-01-30 19:07:52 +01:00
Stanislav Malyshev 09b6e33b40 branched 5.4.12 2013-01-29 12:33:45 -08:00
Stanislav Malyshev 7a6e76fd2f update NEWS 2013-01-29 12:31:49 -08:00
Johannes Schlüter 1433854681 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-29 19:49:43 +01:00
Johannes Schlüter 264279439b Merge branch 'PHP-5.4' of git.php.net:/php-src into PHP-5.4 2013-01-29 19:49:39 +01:00
Johannes Schlüter ec53b60072 Merge branch 'PHP-5.3' of git.php.net:/php-src into PHP-5.3 2013-01-29 19:49:13 +01:00
Johannes Schlüter 93fd9c704b Fix bug #64099 (Wrong TSRM usage in zend_register_class_alias) 2013-01-29 19:47:45 +01:00
Stanislav Malyshev 5382e156f9 Fix bug #62524, only follow redirects in file streams for 3xx HTTP statuses 2013-01-29 00:27:35 -08:00
Andras Elso 3e6d633a0d Fix missing parameter 2013-01-27 17:11:14 -08:00
Stanislav Malyshev 122570443b fix tests 2013-01-23 10:44:53 -08:00
Gustavo Lopes 38bf6951b3 NEWS for bug #64023 (see aa0adce) 2013-01-23 13:30:40 +01:00
Gustavo Lopes b8b3bb08b2 Merge branch 'bug64023' into PHP-5.4
* bug64023:
  Fix bug #64023 (__toString() & SplFileInfo)

Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2013-01-22 12:24:33 +01:00
Gustavo Lopes aa0adce47d Fix bug #64023 (__toString() & SplFileInfo)
Defining a __toString() method was having no effect when concatenating
the object. This was because the cast_object() handler would ignore
__toString().

Using echo() directly would actually use __toString(), but this was a
bug: the ECHO handler would try zend_std_cast_object_tostring() before
cast_object(), but cast_object() should have priority as
zend_std_cast_object_tostring() assumes an object with a
zend_class_entry.
2013-01-22 11:33:29 +01:00
Xinchen Hui 86c1a26169 Merge fix of #62836 to ?.re, and regenerate ?.c 2013-01-21 11:35:22 +08:00
Stanislav Malyshev 9e7c2e5906 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  fix bug #63462 (Magic methods called twice for unset protected properties)
2013-01-18 13:35:09 -08:00
Stanislav Malyshev 33b104c778 fix bug #63462 (Magic methods called twice for unset protected properties) 2013-01-18 13:29:43 -08:00
Gustavo Lopes b69fd9c9b8 NEWS for bug #64011. See 77ee200 2013-01-18 12:12:08 +01:00
Gustavo Lopes 77ee200097 Fix bug #64011 (get_html_translation_table())
get_html_translation_table() with encoding ISO-8859-1 and HTMLENTITIES
was broken. Only entities for characters U+0000 to U+0040 were being
included in the result.
2013-01-18 12:10:27 +01:00
Johannes Schlüter a85ae16e74 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-16 17:38:41 +01:00
Johannes Schlüter be2f547497 Fix NEWS after 5.3.21 2013-01-16 17:38:17 +01:00
Christopher Jones 94a4e0f823 Fix News 2013-01-15 20:38:24 -08:00
Adam Harvey 142c40f32c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Update the arguments in the prototype of fpm_socket_unix_test_connect().
2013-01-16 10:18:00 +08:00
Adam Harvey f63a9f6c11 Update the arguments in the prototype of fpm_socket_unix_test_connect().
Fixes bug #63999 (php with fpm fails to build on Solaris 10 or 11).
2013-01-16 10:06:56 +08:00
Anatoliy Belsky 9498cf6194 fixed build 2013-01-15 22:36:29 +01:00
Gustavo Lopes 4c38003dbd NEWS for bug #63893 2013-01-15 21:07:21 +01:00
Gustavo Lopes 93e35137aa Merge remote-tracking branch 'remotes/cataphract/strtr_wu94_54' into PHP-5.4
* remotes/cataphract/strtr_wu94_54:
  Fixed inconsequential bug in strtr()
  Remove _GNU_SOURCE, add local heap sort
  The compiler can figure this out
  Remove unused block
  strtr() with 2nd param array - optimization
  Refactoring, bugs & leaks
  Optimize strtr w/ 2nd arg array
2013-01-15 21:05:21 +01:00
Gustavo Lopes 930ef9ddd6 Fixed inconsequential bug in strtr() 2013-01-15 17:25:59 +01:00
Adam Harvey 83864b470b Revert "Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa."
This reverts commit 0510701474.
2013-01-15 17:37:21 +08:00
Adam Harvey b1bf524140 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Revert "Update fputcsv() to escape all characters equally."
2013-01-15 17:35:34 +08:00
Adam Harvey c077074c13 Revert "Update fputcsv() to escape all characters equally."
On second thoughts, while the behaviour _is_ broken, this isn't the right fix.

This reverts commit 9b5cb0e805.
2013-01-15 17:33:54 +08:00
Stanislav Malyshev 374ebc8741 fix NEWS 2013-01-15 00:08:12 -08:00
Adam Harvey 0510701474 Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa. 2013-01-15 15:49:52 +08:00
Xinchen Hui 3bc7490370 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-01-15 15:32:42 +08:00
Xinchen Hui 4fcf4e0845 Fixed bug #57702 (Multi-row BLOB fetches) 2013-01-15 15:31:49 +08:00
Adam Harvey a4191b0aad Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Update fputcsv() to escape all characters equally.
2013-01-15 15:24:21 +08:00
Adam Harvey 9b5cb0e805 Update fputcsv() to escape all characters equally.
At present, backslashes have special case handling within fputcsv(): when one
is encountered within a field that's being escaped, escaping stops until the
next instance of the enclosure character is hit.  This can result in malformed
CSV.

Fixes bug #43225 (fputcsv incorrectly handles cells ending in \ followed by ").
2013-01-15 15:17:45 +08:00
Lars Strojny 6a065876b9 Bug #52958: Segfault in PDO_OCI on cleanup after running a long testsuite. 2013-01-14 21:35:48 +01:00
Lars Strojny bf9ad4e661 Support BITMAPV5HEADER in getimagesize(): https://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.28bitmap_information_header.29 2013-01-14 18:52:38 +01:00
Lars Strojny 1e9a3ed234 Fix bug #63916: PDO::PARAM_INT casts to 32bit int internally even on 64bit builds in pdo_sqlite 2013-01-14 17:59:11 +01:00
Lars Strojny 99d087e5d4 Fixed bug #63921: sqlite3::bindvalue and relative PHP functions aren't using sqlite3_*_int64 API 2013-01-14 17:35:07 +01:00
Gustavo Lopes d7bac4f5ba Remove _GNU_SOURCE, add local heap sort 2013-01-14 17:06:52 +01:00
Gustavo Lopes e5029ac40b The compiler can figure this out 2013-01-14 12:22:42 +01:00
Gustavo Lopes 93d1171c47 Remove unused block 2013-01-14 12:22:42 +01:00
Gustavo Lopes cddbb98ada strtr() with 2nd param array - optimization
About a 1.25x speedup in my test script by writing the result string
only when a match is found and at the end instead of on each iteration.
2013-01-14 12:22:42 +01:00
Gustavo Lopes 2111ee3df5 Refactoring, bugs & leaks 2013-01-14 12:22:41 +01:00
Gustavo Lopes ccf15cf2dc Optimize strtr w/ 2nd arg array
Fixes bug #63893: poor efficiency of strtr() using array with keys of
very different length.

The implementation is basically all new, which carries some risk with
it.

The algorithm is described in "A Fast Algorithm For Multi-Pattern
Searching" (1994) by Sun Wu and Udi Manber.
2013-01-14 12:22:41 +01:00
Stanislav Malyshev 1a96fe0b32 fix bug #63982: isset() inconsistently produces a fatal error on protected property 2013-01-13 17:08:52 -08:00
Stanislav Malyshev c6203da6c2 different OSes have different messages, and that's not what the test is about anyway 2013-01-13 16:58:27 -08:00
Arnaud Le Blanc a06313fe5a fixed alternate form for 'x' and 'X' formats
same fix exists in original code:
https://svn.apache.org/viewvc?view=revision&revision=1152309
2013-01-13 15:45:15 +01:00
Dmitry Stogov 046ae2f77c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed uninitialized zval.type (Yoram)
2013-01-10 18:54:19 +04:00
Dmitry Stogov e1410b5a70 Fixed uninitialized zval.type (Yoram) 2013-01-10 18:53:10 +04:00
ULF WENDEL 36e88d78e6 MySQL 5.6 EXPIRE PASSWORD flag tests 2013-01-10 14:51:14 +01:00
Remi Collet f659ec108f Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix test after fix for bug #63943 (Bad warning text from strpos() on empty needle) See commit c05ee74e7f
2013-01-10 11:17:53 +01:00
Remi Collet dc9f0e70b7 Fix test after fix for bug #63943 (Bad warning text from strpos() on empty needle)
See commit c05ee74e7f
2013-01-10 11:14:38 +01:00
Andrey Hristov d430b5a4eb Add mysqli support - constants and checking in mysqli_options() for the
new constant for password expriration
2013-01-09 19:14:48 +01:00
Andrey Hristov 258c76eb41 backport handling of expired passwords in mysqlnd to 5.4 2013-01-09 18:58:29 +01:00
Andrey Hristov bcd278ad7f fix compilation error after merge 2013-01-09 18:39:59 +01:00
Andrey Hristov 6a6ec195ac Merge branch 'PHP-5.3' into PHP-5.4 2013-01-09 18:27:50 +01:00
Andrey Hristov 12e759c2ea Use during connect the flags set with set_client_option() 2013-01-09 18:27:06 +01:00
Dmitry Stogov 625000ab44 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed compilator bug that might cause jump depended on unitialized value
2013-01-09 17:36:44 +04:00
Dmitry Stogov d4650c5d69 Fixed compilator bug that might cause jump depended on unitialized value 2013-01-09 17:16:47 +04:00
Dmitry Stogov f9e8678dd3 Fixed bug #63882 (zend_std_compare_objects crash on recursion) 2013-01-09 11:30:50 +04:00
Xinchen Hui f3b1b85169 update NEWS 2013-01-09 10:55:50 +08:00
Xinchen Hui 15aaa9c660 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-09 10:54:23 +08:00
Xinchen Hui c05ee74e7f Fixed bug #63943 (Bad warning text from strpos() on empty needle) 2013-01-09 10:53:20 +08:00
Adam Harvey 6e684e6a6c Add NEWS for the previously cherry picked commit. 2013-01-08 11:40:51 +08:00
George Wang 9c52d09ebc sapi/litespeed/lsapi_main.c: Fix bug #63228
Fix compiling error at line 606 (error: format not a string
literal and no format arguments [-Werror=format-security]
2013-01-08 11:40:13 +08:00
Derick Rethans 0de5fb4165 Merge branch 'PHP-5.4' of git.php.net:/php-src into PHP-5.4 2013-01-06 15:09:55 +00:00
Derick Rethans 67c662a0a2 Update news with new bug fix. 2013-01-06 15:08:26 +00:00
Derick Rethans ba35ae32b7 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-06 15:07:13 +00:00
Lars Strojny bdc1e2302c Adding test for bug #63462 2013-01-06 14:46:49 +01:00
Derick Rethans ff9c1b12ff Fixed bug #55397: Comparsion of incomplete DateTime causes SIGSEGV. 2013-01-06 13:39:34 +00:00
Lars Strojny d7da1aa694 Coding style, ANSI C compatibility 2013-01-06 14:08:23 +01:00
Xinchen Hui a426e0b050 bump year 2013-01-06 10:22:15 +08:00
Xinchen Hui a3a699e090 Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4 2013-01-06 10:20:10 +08:00
Xinchen Hui c2f8e90504 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-06 10:20:00 +08:00
Xinchen Hui bc11e6fdbb bump year 2013-01-06 10:19:09 +08:00
Lars Strojny 8e5460ad86 Adding test from 5.5 2013-01-06 03:15:08 +01:00
Lars Strojny 67557fcfce Bug #63699: performance improvements for varios ext/date functions 2013-01-06 03:06:09 +01:00
Xinchen Hui 2feea39a33 Update NEWS 2013-01-04 11:05:24 +08:00
Xinchen Hui aff5d084a5 Merge branch 'PHP-5.3' into PHP-5.4 2013-01-04 11:03:52 +08:00
Xinchen Hui c3e6de2227 Fixed bug #63899 (Use after scope error in zend_compile) 2013-01-04 11:02:21 +08:00
Stanislav Malyshev 5894aa0950 5.4.12-dev 2013-01-03 17:25:56 -08:00
Johannes Schlüter aaecb99c6b Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	configure.in
	main/php_version.h
2013-01-03 22:59:38 +01:00
Johannes Schlüter 712710bfec This will be PHP 5.3.22 2013-01-03 22:56:46 +01:00
Stanislav Malyshev 7ed2fdbf99 add bug #63762 2013-01-01 22:09:32 -08:00
Stanislav Malyshev 86c46b96b6 add fix #43177 2013-01-01 21:24:11 -08:00
Stanislav Malyshev 36e19c9cab Bug #43177: If an eval() has a parse error, the overall exit status and return code should not be affected.
Without this fix, a webpage using eval() may return code 500.  That might display
fine and the 500 go unnoticed, but using AJAX or wget, the 500 will cause problems.
2013-01-01 21:18:59 -08:00
Stanislav Malyshev dd288f93e1 fix NEWS 2013-01-01 19:05:25 -08:00
Xinchen Hui 0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Xinchen Hui 58dabff8ed Merge branch 'PHP-5.3' into PHP-5.4 2013-01-01 16:25:09 +08:00
Xinchen Hui 831fbcf385 Happy New Year 2013-01-01 16:23:31 +08:00
Xinchen Hui 38150cbd7a Merge branch 'PHP-5.3' into PHP-5.4 2013-01-01 16:07:55 +08:00
Xinchen Hui a2045ff332 Happy New Year~ 2013-01-01 16:02:16 +08:00
Lars Strojny ee258fe87d News entry for +0/-0 filter fix 2012-12-29 03:34:23 +01:00
Martin Jansen dcd99c4b19 Add more tests for the new +0/-0 behaviour. 2012-12-29 03:31:22 +01:00
Martin Jansen 3990641e62 Treat "+0" and "-0" as valid integers just like var_dump() does.
This fixes bug #54096.
2012-12-29 03:31:13 +01:00
Pierrick Charron ac3d227e28 Fixed #63859 Memory leak when reusing curl-handle
When CURLOPT_POSTFIELDS is called more than once on the same
curl handle, php/curl did not free the memory of the previous
post data. This commit will fix the problem unless the curl
handle was previously duplicated using the curl_copy_handle()
function in which case we can not know if the post data is
still in use or not by any curl handle
2012-12-27 13:31:55 -05:00
Pierrick Charron 663434cd76 Merge branch 'PHP-5.3' into PHP-5.4 2012-12-26 10:17:37 -05:00
Pierrick Charron b35ffdeae1 Revert "Remove a useless memory write in zend_llist_del_element"
This reverts commit fad960a404 as
required by Stas and Christopher
2012-12-26 10:13:56 -05:00
Pierrick Charron c12ab5c306 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Remove a useless memory write in zend_llist_del_element
2012-12-25 20:57:21 -05:00
Pierrick Charron fad960a404 Remove a useless memory write in zend_llist_del_element
The zend_llist_element *next pointer is not necessary and removing
it will also remove a write on memory
2012-12-25 20:45:24 -05:00
Dmitry Stogov 7e2629635b spelling 2012-12-25 16:21:25 +04:00
Dmitry Stogov f0b459b7c4 Fixed ZTS build 2012-12-25 13:38:14 +04:00
Dmitry Stogov 3f8c729e69 Traits refactoring 2012-12-25 10:23:08 +04:00
Pierrick Charron 3f0dcc08e0 Update NEWS file 2012-12-22 19:09:56 -05:00
Pierrick Charron b10a3b9466 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed segfault due to libcurl connection caching
2012-12-22 19:04:45 -05:00
Pierrick Charron a2b6d9c104 Fixed segfault due to libcurl connection caching
Libcurl is doing connection caching. When easy handle is cleaned up,
if the handle was previously used by the curl_multi_api, the connection
remains open un the curl multi handle is cleaned up. Some protocols are
sending content like the FTP one, and libcurl try to use the
WRITEFUNCTION or the HEADERFUNCTION. Since structures used in those
callback are freed, we need to use an other callback to which avoid
segfaults.

Libcurl commit d021f2e8a00 fix this issue and should be part of 7.28.2
2012-12-22 19:03:24 -05:00
Pierrick Charron 5499c7d201 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Update NEWS file
  Fixed bug #63352 (Can't enable hostname validation when using curl stream wrappers)
  CURL >= 7.28.0 no longer support value 1 for CURLOPT_SSL_VERIFYHOST)

Conflicts:
	ext/curl/interface.c
	ext/curl/tests/bug63363.phpt
2012-12-21 19:24:28 -05:00
Pierrick Charron 1c553eba19 Update NEWS file 2012-12-21 19:19:25 -05:00
Pierrick Charron af10e698a2 Fixed bug #63352 (Can't enable hostname validation when using curl stream wrappers) 2012-12-21 19:12:43 -05:00
Pierrick Charron 517f800277 CURL >= 7.28.0 no longer support value 1 for CURLOPT_SSL_VERIFYHOST)
Fixed bug #63795
2012-12-21 19:10:55 -05:00
Pierrick Charron 59a4514dc0 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fix test to work on every libcurl version
  - Fixed typo on "SKIPIF" (causing make test to abort on some systems)

Conflicts:
	tests/output/bug63377.phpt
2012-12-21 12:24:52 -05:00
Pierrick Charron 63659ce526 Fix test to work on every libcurl version 2012-12-21 12:19:54 -05:00
Pierrick Charron 763bce0303 Fix test
This test is only valid if libcurl < 7.28.1 since
libcurl removed support for the 1 value in CURLOPT_SSL_VERIFYHOST.
2012-12-21 11:45:59 -05:00
Felipe Pena 56d9edbbb9 - Fixed typo on "SKIPIF" (causing make test to abort on some systems) 2012-12-20 22:35:05 -02:00
Rasmus Lerdorf 180b9e150b Fix for bug #63811 2012-12-19 22:58:18 -05:00
Pierrick Charron 66b88c92bb Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #55438 (Curlwapper is not sending http header randomly)
2012-12-19 19:44:08 -05:00
Pierrick Charron c46e1cdcae Fixed bug #55438 (Curlwapper is not sending http header randomly)
Since curl multi is used, it sometime happen that the resource is freed before
the curl multi really execute the query. The patch will store the headers
slist in the curlstream handle and free it only when the stream will be closed
2012-12-19 19:40:29 -05:00
Johannes Schlüter 59692de77f Merge branch 'PHP-5.3' into PHP-5.4 2012-12-19 16:17:18 +01:00
Johannes Schlüter e01fe5315c Update release date 2012-12-19 16:15:39 +01:00
Andrey Hristov ae9ba081c8 Merge branch 'PHP-5.4' of ssh://git.php.net/php-src into PHP-5.4 2012-12-19 15:08:09 +01:00
Remi Collet 3732fa95c5 fix failing test on Linux build 2012-12-19 10:23:57 +01:00
Andrey Hristov 1f7c46b579 be cautious about the result of strrchr 2012-12-18 16:21:05 +01:00
Xinchen Hui 05deaf1706 Merge branch 'PHP-5.3' into PHP-5.4 2012-12-17 14:29:45 +08:00
Xinchen Hui 06739a1b72 dos2unix & skip on connect fail 2012-12-17 14:29:13 +08:00
Xinchen Hui 2f7f57a407 Merge branch 'PHP-5.3' into PHP-5.4 2012-12-17 12:57:37 +08:00
Xinchen Hui d2cc097049 Fix failed test 2012-12-17 12:56:55 +08:00
Lars Strojny 36a5eca89c Updating news entry to list new filetypes 2012-12-15 12:00:42 +01:00
Lars Strojny c3b480323f News entry for updated mime types 2012-12-14 14:54:38 +01:00
pascalc d813af0618 update test for supported Mime Types checking 2012-12-14 13:59:06 +01:00
pascalc e5b1ebc082 update list of common Mime Types in PHP development server to support Web audio/video formats (Webm ,and Ogg containers) + have jpeg mime types listed together 2012-12-14 13:59:01 +01:00
Rasmus Lerdorf 77c4b84ac8 Merge branch 'PHP-5.3' into PHP-5.4 2012-12-13 16:54:31 -08:00
Rasmus Lerdorf 7a49e09fd8 Need connect.inc here 2012-12-13 16:54:16 -08:00
Rasmus Lerdorf d845549257 Merge branch 'PHP-5.3' into PHP-5.4 2012-12-13 16:42:33 -08:00
Rasmus Lerdorf 9d1bc1b622 Fix broken test
Need to use the configured connection parameters here. We can't assume
the test user has access.
2012-12-13 16:41:56 -08:00
Rasmus Lerdorf 538d8338c0 Merge branch 'PHP-5.3' into PHP-5.4 2012-12-13 16:15:06 -08:00
Rasmus Lerdorf eecdb4c254 Fix broken test
This was missing a %s for the path here
2012-12-13 16:13:37 -08:00
Arpad Ray 6566ea6173 Fix #63379 - Don't reset mod_user_is_open in destroy
The parent handler is still open so the reset here was in error.
2012-12-13 23:51:43 +00:00
Johannes Schlüter ef37055c34 Merge branch 'PHP-5.3' into PHP-5.4 2012-12-13 22:40:23 +01:00
Johannes Schlüter a11606b18f Fix Bug #63762 Sigsegv when Exception::$trace is changed by user 2012-12-13 22:39:35 +01:00
Anatoliy Belsky 0d458ae89f Fixed mysqlnd compilation in debug mode on windows 2012-12-13 15:01:01 +01:00
Dmitry Stogov 35f86d24d8 Fixed bug #63757 (getenv() produces memory leak with CGI SAPI) 2012-12-13 13:39:42 +04:00
Xinchen Hui 1f516510b7 Merge branch 'PHP-5.3' into PHP-5.4 2012-12-13 10:44:56 +08:00
Xinchen Hui 39a3007ab2 MFH 2012-12-13 10:44:14 +08:00
Adam Harvey 2d1694d4eb Alter php_json_decode_ex() to respect JSON_BIGINT_AS_STRING for bare numbers.
Fixes bug #63737 (json_decode does not properly decode with options parameter).
2012-12-11 19:51:30 +08:00
Johannes Schlüter 95fd52ff3d Merge branch 'PHP-5.3' into PHP-5.4 2012-12-10 13:35:57 +01:00
Johannes Schlüter a2cf4f1932 Merge branch 'PHP-5.3' of git.php.net:/php-src into PHP-5.3 2012-12-10 13:35:27 +01:00
Johannes Schlüter bd36d4901c Merge branch 'PHP-5.3' into PHP-5.4 2012-12-10 13:32:50 +01:00
Johannes Schlüter 795e3f1c0f Fix typo 2012-12-10 13:32:08 +01:00
Xinchen Hui 3d86e6d881 Fixed bug #63726 (Memleak with static properties and internal/user classes)
No test scripts provided (will try to find one)
2012-12-10 20:29:51 +08:00
Xinchen Hui 8b8fb649dc Merge branch 'PHP-5.3' into PHP-5.4 2012-12-10 20:29:38 +08:00
Xinchen Hui ad553a7af2 Fixed bug #63726 (Memleak with static properties and internal/user classes) 2012-12-10 20:28:27 +08:00
Xinchen Hui a1e401fb34 Merge branch 'PHP-5.3' into PHP-5.4 2012-12-10 18:47:53 +08:00
Xinchen Hui db6d8e2724 skip 32-bit OS 2012-12-10 18:47:21 +08:00
Xinchen Hui 2a75f59355 Merge branch 'PHP-5.3' into PHP-5.4 2012-12-10 18:29:34 +08:00
Xinchen Hui d86decd7b4 Merge branch 'PHP-5.3' of git.php.net:php-src into PHP-5.3 2012-12-10 18:28:26 +08:00
Xinchen Hui fa7e230c76 Need more that 2G memory 2012-12-10 18:28:01 +08:00
Johannes Schlüter 811cd765a9 Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	configure.in
	main/php_version.h
2012-12-05 19:02:41 +01:00
Johannes Schlüter 22fe268ad4 this will become PHP 5.3.21 2012-12-05 18:55:05 +01:00
Dmitry Stogov df97c3aa0d Use get_gc instead of hacks of get_properties 2012-12-05 17:58:36 +04:00
Dmitry Stogov 881416cda6 Fixed bug #63680 (Memleak in splfixedarray with cycle reference) 2012-12-05 17:53:26 +04:00
Anatoliy Belsky 73e66ff1bd Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Two tests deactivated until #63688 was fixed
2012-12-05 09:57:36 +01:00
Anatoliy Belsky 94cbd6374a Two tests deactivated until #63688 was fixed 2012-12-05 09:55:49 +01:00
Stanislav Malyshev c3b6f6feed 5.4.11-dev 2012-12-04 21:30:50 -08:00
Stanislav Malyshev d398456e48 update NEWS 2012-12-04 21:27:25 -08:00
Stanislav Malyshev fd650ec93e fix bug #63666 - Poor date() performance 2012-12-04 21:02:09 -08:00
Anatoliy Belsky b8553d8494 Revert the previous test fix
The fail seems to be due to network error
2012-12-03 15:14:43 +01:00
Anatoliy Belsky 89e547ce7f Fix test with a slightly different warning in TS 2012-12-03 10:41:17 +01:00
Marco Pivetta 627eb9e3d9 Adding tests for private and protected properties 2012-12-02 19:47:18 +01:00
Marco Pivetta 12f451c771 Fixing test according to @jpauli's suggestions 2012-12-02 19:47:13 +01:00
Marco Pivetta 1377942b69 Adding regression test for behavior of magic methods with unset public properties
Verifies that after having unset a public property, any access to it, be it read or write, causes calls to public magic methods

Signed-off-by: Marco Pivetta <ocramius@gmail.com>
2012-12-02 19:47:09 +01:00
Lars Strojny 12de2e91d0 News entry for bug #49341 2012-12-02 19:41:19 +01:00
Igor Wiedler ec2a132f9c Bug #49341: Add SO_REUSEPORT support for socket_set_option()
This is a BSD-only feature, and it will only be available on BSD.
On other platforms the constant will simply not be set.
2012-12-02 18:56:57 +01:00
Remi Collet 7552a7eb19 NEWS 2012-12-01 10:26:20 +01:00
Remi Collet e9c1a45daa Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  NEWS
2012-12-01 10:25:49 +01:00
Remi Collet 31ab57e052 NEWS 2012-12-01 10:25:37 +01:00
Remi Collet 92a5e4def0 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed Bug #63435 Datetime::format('u') sometimes wrong by 1 microsecond
2012-12-01 10:24:02 +01:00
Remi Collet c2554b4bb4 Fixed Bug #63435 Datetime::format('u') sometimes wrong by 1 microsecond
When storing '015700' microseconds in a Datetime object,
Datetime::format('u') returns '015699'

Already known per bug45554 reproducer (also fixed).
2012-12-01 10:20:39 +01:00
Xinchen Hui 35f636019d Merge branch 'PHP-5.3' into PHP-5.4 2012-11-30 14:49:35 +08:00
Xinchen Hui ff6c9e2726 Fixed bug #63377 (Segfault on output buffer) 2012-11-30 14:48:51 +08:00
Xinchen Hui 96300f551a format 2012-11-30 14:33:29 +08:00
Xinchen Hui dc36933181 Merge branch 'PHP-5.3' into PHP-5.4 2012-11-30 14:33:24 +08:00
Xinchen Hui 00d86afedf Format 2012-11-30 14:32:15 +08:00
Xinchen Hui b689819567 Merge branch 'PHP-5.3' into PHP-5.4 2012-11-30 14:29:59 +08:00
Xinchen Hui 40fabf68ed Fixed bug #63398 (Segfault when polling closed link) 2012-11-30 14:28:32 +08:00
Dmitry Stogov 7f7cff0bbb Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #63271 (SOAP wsdl cache is not enabled after initial requests)

Conflicts:
	NEWS
	ext/soap/soap.c
2012-11-29 16:41:09 +04:00
Dmitry Stogov dc2192c087 Fixed bug #63271 (SOAP wsdl cache is not enabled after initial requests) 2012-11-29 16:31:08 +04:00
Dmitry Stogov 1a09bf8023 Fixed bug #61557 (Crasher in tt-rss backend.php) 2012-11-29 14:38:18 +04:00
Dmitry Stogov f877d7fee6 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #63635 (Segfault in gc_collect_cycles)

Conflicts:
	NEWS
2012-11-29 12:38:34 +04:00
Dmitry Stogov 92e2f29381 Fixed bug #63635 (Segfault in gc_collect_cycles) 2012-11-29 12:25:20 +04:00
Remi Collet c37d7a9456 NEWS 2012-11-28 10:45:23 +01:00
Remi Collet 487b7c7f32 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed Bug #63581 Possible buffer overflow
  Fixed Bug #63581 Possible null dereference
2012-11-28 10:38:13 +01:00
Remi Collet bc492007da Fixed Bug #63581 Possible buffer overflow
In fpm-log, possible buffer overflow. Check for length is done at
the beginning of the loop, so is not done when overflow occurs
on the last loop (len = 1024 or 1025). (ack from fat).

This issue where found from by static code analysis tool and, so,
I can't provide any reproducer.
2012-11-28 10:35:04 +01:00
Remi Collet 0f4772d12f Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src:
  BFN #61272
  fix bug #61272 ob_start callback get passed empty string
  Fixed bug #63590 Fileinfo delivers ifferent results in TS and NTS under Windows
  This test isn't supposed to pass on windows
  Fixed Bug #63614 (Fatal error on Reflection)
2012-11-28 10:31:49 +01:00
Remi Collet f08060a48f Fixed Bug #63581 Possible null dereference
Possible NULL dereference when trying to delete the single item
of a list (ack from fat).

This issues where found from by static code analysis tool and,
so, I can't provide any reproducer.
2012-11-28 10:28:18 +01:00
Remi Collet 1e6baa2673 Merge branch 'PHP-5.3' of git.php.net:php-src into PHP-5.3
* 'PHP-5.3' of git.php.net:php-src:
  Fixed bug #63590 Fileinfo delivers ifferent results in TS and NTS under Windows
  This test isn't supposed to pass on windows
  Fixed Bug #63614 (Fatal error on Reflection)
2012-11-28 10:24:32 +01:00
Michael Wallner be1e5b9c54 BFN #61272 2012-11-28 10:23:26 +01:00
Michael Wallner 575790e842 fix bug #61272 ob_start callback get passed empty string 2012-11-28 10:19:44 +01:00
Anatoliy Belsky d88017e992 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #63590 Fileinfo delivers ifferent results in TS and NTS under Windows

Conflicts:
	NEWS
	ext/fileinfo/libmagic.patch
	ext/fileinfo/tests/finfo_open_error-win32.phpt
2012-11-27 16:45:25 +01:00
Anatoliy Belsky e6b727d3b7 Fixed bug #63590 Fileinfo delivers ifferent results in TS and NTS under Windows 2012-11-27 16:33:58 +01:00
Anatoliy Belsky e0ad33c24a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  This test isn't supposed to pass on windows
2012-11-27 16:11:53 +01:00
Anatoliy Belsky eff12e56b6 This test isn't supposed to pass on windows 2012-11-27 16:02:55 +01:00
Xinchen Hui 070239a194 Merge branch 'PHP-5.3' into PHP-5.4 2012-11-27 13:36:38 +08:00
Xinchen Hui df3b9a1e07 Fixed Bug #63614 (Fatal error on Reflection) 2012-11-27 13:34:36 +08:00
Remi Collet 7751a68824 Related bug #63588 fix length computation + optimize for speed
Following comment from Yoram "The patch looks fine, except of testing
for true value of utf16 in each iteration."
Also fix the length computation during check phase.
2012-11-26 12:59:08 +01:00
Remi Collet 289bb339c9 Fixed bug #63588 Duplicate implementation of php_next_utf8_char
Json use an utf8 parser from a third party library, switch to
our implementation of php_next_utf8_char.
This also helps on solving #63520. All the unit tests succeed.
Our implementation also seems a little faster.

json.dsp need to be regenerated.
2012-11-25 08:14:23 +01:00
Remi Collet 8d2c44b59d Fixed Bug #63361 Header not installed
ext/mysqli/php_mysqli_structs.h is installed and includes
mysqli_mysqlnd.h or mysqli_libmysql.h. So this header must also
be installed.
2012-11-25 07:46:02 +01:00
Remi Collet 137503dd6f NEWS entries 2012-11-25 07:40:39 +01:00
Stanislav Malyshev c08e2c8c17 fix NEWS 2012-11-24 16:28:56 -08:00
Stanislav Malyshev 7262bf67a2 5.4.10-dev 2012-11-24 16:24:05 -08:00
Remi Collet 67e67c254d Fixed Bug #63149 Feature missing with system SQLite
In pdo_sqlite, getColumnMeta should return the table name.
With bundled SQLite library, -DSQLITE_ENABLE_COLUMN_METADATA=1 (other_flags)
enable the feature in SQLite (function sqlite3_column_table_name).
With system SQLite library, this fix detects if sqlite3_column_table_name is
available and add SQLITE_ENABLE_COLUMN_METADATA macro to get the same behavior.

Test already exists: ext/pdo_sqlite/tests/bug_42589.phpt
2012-11-24 17:47:51 +01:00
Remi Collet 88d2b8c5fd Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  add unit test for bug 63126
  NEWS
2012-11-24 17:31:18 +01:00
Remi Collet 92147243bf add unit test for bug 63126 2012-11-24 17:30:48 +01:00
Remi Collet 90d2561a9c NEWS 2012-11-24 15:23:25 +01:00
Remi Collet 7cd2f4b6a6 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed Bug #63126 DISABLE_AUTHENTICATOR ignores array
2012-11-24 15:01:24 +01:00
Remi Collet f55bed9dad Fixed Bug #63126 DISABLE_AUTHENTICATOR ignores array 2012-11-24 15:00:03 +01:00
Anatoliy Belsky 9d8ed21bd5 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Backported the fix for bug #63248 from 5.4+
2012-11-23 14:00:30 +01:00
Anatoliy Belsky 8a84b1b5d9 Backported the fix for bug #63248 from 5.4+ 2012-11-23 13:58:22 +01:00
Anatoliy Belsky dc862f4fd4 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed test for bug #63297
2012-11-22 19:04:49 +01:00
Anatoliy Belsky 1702024073 Fixed test for bug #63297 2012-11-22 19:01:09 +01:00
Johannes Schlüter 6bd0a92a35 Merge branch 'PHP-5.3' into PHP-5.4 2012-11-21 21:09:57 +01:00
Johannes Schlüter cc315e79e1 PHP 5.3.19 2012-11-21 21:09:25 +01:00
Xinchen Hui e54970aaf1 Unused variable copystr
copystr is declared again blow
2012-11-21 12:30:03 +08:00
Dmitry Stogov 111aa9fd2e Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #63468 (wrong called method as callback with inheritance)

Conflicts:
	NEWS
2012-11-20 12:54:40 +04:00
Dmitry Stogov 396c1e990a Fixed bug #63468 (wrong called method as callback with inheritance) 2012-11-20 12:51:55 +04:00
Christopher Jones 75746d60b6 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:
  Regenerate Zend ini scanner
  Fixed bug #63512 parse_ini_file() with INI_SCANNER_RAW removes quotes from value
2012-11-18 14:20:53 -08:00
Christopher Jones d412152f31 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:
  Regenerate Zend ini scanner
  Fixed bug #63512 parse_ini_file() with INI_SCANNER_RAW removes quotes from value
2012-11-18 14:20:49 -08:00
Pierrick Charron 99edb55e41 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Regenerate Zend ini scanner

Conflicts:
	Zend/zend_ini_scanner.c
	Zend/zend_ini_scanner_defs.h
2012-11-16 18:24:42 -05:00
Pierrick Charron c886691100 Regenerate Zend ini scanner
Regenerate both zend_ini_scanner.c and zend_ini_scanner_defs.h
2012-11-16 18:16:21 -05:00
Pierrick Charron 15ab75be8a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #63512 parse_ini_file() with INI_SCANNER_RAW removes quotes from value
2012-11-16 18:07:02 -05:00
Pierrick Charron 6dff07aa8c Fixed bug #63512 parse_ini_file() with INI_SCANNER_RAW removes quotes from value
Restore the old behavior but keep bug 51094 fixed
2012-11-16 18:04:14 -05:00
Christopher Jones 975fb4e3ea 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:
  Skip test if directory does not exist
  Fixed test sapi/cli/tests/006.phpt
  Fixed compiler reenterability
  Fixed compiler reenterability
  UPdated NEWS
  Updated NEWS
2012-11-15 19:29:48 -08:00
Christopher Jones 16f9f46935 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:
  Skip test if directory does not exist
  Updated NEWS
2012-11-15 19:29:44 -08:00
Johannes Schlüter 2a59f1d06c Merge branch 'PHP-5.3' into PHP-5.4 2012-11-15 12:29:38 +01:00
Johannes Schlüter 7468fc0e37 Skip test if directory does not exist
Would be good to run this using a directory which is existing
everywhere.
2012-11-15 12:28:19 +01:00
Anatoliy Belsky 3d82f16c7d Fixed test sapi/cli/tests/006.phpt
Third param in preg_match_all() is optional for a while )
2012-11-14 16:20:59 +01:00
Dmitry Stogov f99befadbd Fixed compiler reenterability 2012-11-14 17:47:27 +04:00
Dmitry Stogov 65585b3aa2 Fixed compiler reenterability 2012-11-14 17:45:10 +04:00
Anatoliy Belsky 5a1d2fe415 UPdated NEWS 2012-11-14 10:06:46 +01:00
Anatoliy Belsky 55a4da7f53 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Updated NEWS
2012-11-14 10:04:27 +01:00
Anatoliy Belsky f5d8b638c7 Updated NEWS 2012-11-14 10:02:35 +01:00
SVN Migration 3e94ce6a97 This commit was manufactured by cvs2svn to create tag 'NEWS'. 2008-12-19 02:13:42 +00:00
2012 changed files with 159746 additions and 148007 deletions

No files matched your search

+4 -19
View File
@@ -1,24 +1,9 @@
language: php
php:
# We only specify one version so we only get one worker
- 5.4
branches:
except:
- /^PHP-5\.3.*/
- /^PHP-5\.4.*/
notifications:
email: false
env:
- REPORT_EXIT_STATUS=1 TEST_PHP_EXECUTABLE=./sapi/cli/php
before_script:
# Compile PHP
- ./travis/compile.sh
# Setup Extensions
- . ./travis/ext/mysql/setup.sh
- . ./travis/ext/mysqli/setup.sh
- . ./travis/ext/pdo_mysql/setup.sh
- . ./travis/ext/pgsql/setup.sh
- . ./travis/ext/pdo_pgsql/setup.sh
# Run PHPs run-tests.php
script: ./sapi/cli/php run-tests.php -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP"
+1 -1
View File
@@ -1,6 +1,6 @@
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2012 The PHP Group. All rights reserved.
Copyright (c) 1999 - 2010 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
+8 -22
View File
@@ -3,8 +3,6 @@
# LCOV
#
LCOV_INCLUDE="."
lcov: lcov-html
lcov-test: lcov-clean-data test
@@ -14,7 +12,7 @@ php_lcov.info: lcov-test
@rm -rf lcov_data/
@$(mkinstalldirs) lcov_data/
@echo
-@files=`find . -name \*.gcda -o -name \*.gcno -o -name \*.da -o -name \*.h | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//g' | $(EGREP) $(LCOV_INCLUDE) | uniq` ;\
-@files=`find . -name \*.gcda -o -name \*.gcno -o -name \*.da -o -name \*.h | sed -e 's/^\.\///' | sed -e 's/\.gcda//g' -e 's/\.gcno//g' -e 's/\.da//g' | uniq` ;\
for x in $$files; do \
echo -n . ;\
y=`echo $$x | sed -e 's!\.libs/!!'`; \
@@ -41,26 +39,14 @@ php_lcov.info: lcov-test
if test -f "$(top_builddir)/$$y.c"; then \
ln -f -s $(top_builddir)/$$y.c lcov_data/$$y.c; \
fi; \
if test -f "$$x.gcno"; then \
cp $$x.gcno lcov_data/$$y.gcno ; \
fi; \
if test -f "$$x.gcda"; then \
cp $$x.gcda lcov_data/$$y.gcda ; \
fi; \
if test -f "$$x.da"; then \
cp $$x.da lcov_data/$$y.da ; \
fi; \
if test -f "$$x.bb"; then \
cp $$x.bb lcov_data/$$y.bb ; \
fi; \
if test -f "$$x.bbg"; then \
cp $$x.bbg lcov_data/$$y.bbg ; \
fi; \
done; \
test -f "$$x.gcno" && cp $$x.gcno lcov_data/$$y.gcno ; \
test -f "$$x.gcda" && cp $$x.gcda lcov_data/$$y.gcda ; \
test -f "$$x.da" && cp $$x.da lcov_data/$$y.da ; \
test -f "$$x.bb" && cp $$x.bb lcov_data/$$y.bb ; \
test -f "$$x.bbg" && cp $$x.bbg lcov_data/$$y.bbg ; \
done
for dir in ext/bcmath/libbcmath ext/fileinfo/libmagic ext/gd/libgd ext/mbstring/libmbfl ext/mbstring/oniguruma ext/pcre/pcrelib ext/pdo_sqlite/libsqlite ext/sqlite/libsqlite ext/sqlite3/libsqlite ext/xmlrpc/libxmlrpc ext/zip/lib; do \
if test -d lcov_data/$$dir; then \
rm -rf lcov_data/$$dir ; \
fi; \
test -d lcov_data/$$dir && rm -rf lcov_data/$$dir ; \
done
@echo
@echo "Generating $@"
+1 -1
View File
@@ -86,7 +86,7 @@ PHP_TEST_SHARED_EXTENSIONS = ` \
PHP_DEPRECATED_DIRECTIVES_REGEX = '^(magic_quotes_(gpc|runtime|sybase)?|(zend_)?extension(_debug)?(_ts)?)[\t\ ]*='
test: all
@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
INI_FILE=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
if test "$$INI_FILE"; then \
$(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
+8008 -162
View File
File diff suppressed because it is too large. Load diff
+4 -6
View File
@@ -45,16 +45,14 @@ Currently we have the following branches in use::
master The active development branch.
PHP-5.5 Is used to release the PHP 5.5.x series. It allows for larger
enhancements.
PHP-5.4 Is used to release the PHP 5.4.x series. This is current
stable version and is open for bugfixes only.
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
stable version and is open for bugfixes only.
PHP-5.2 This branch is closed.
PHP-5.2 Is used to release the PHP 5.2.x series. It is closed for
changes now.
PHP-5.1 This branch is closed.
+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
+9 -1
View File
@@ -154,7 +154,15 @@ origin <branch>``".
11. run: ``./makedist php 5.4.1``, this will export the tree, create configure
and build two tarballs (one gz and one bz2).
12. Commit those two tarballs to Git (php-distributions.git)
12. Commit those two tarballs 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;
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
+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.
-30
View File
@@ -1,30 +0,0 @@
The PHP Interpreter
===================
This is the github mirror of the official PHP repository located at
http://git.php.net.
[![Build Status](https://secure.travis-ci.org/php/php-src.png?branch=master)](http://travis-ci.org/php/php-src)
Pull Requests
=============
PHP accepts pull requests via github. Discussions are done on github, but
depending on the topic can also be relayed to the official PHP developer
mailinglist internals@lists.php.net.
New features require an RFC and must be accepted by the developers.
See https://wiki.php.net/rfc and https://wiki.php.net/rfc/voting for more
information on the process.
Bug fixes **do not** require an RFC, but require a bugtracker ticket. Always
open a ticket at http://bugs.php.net and reference the bug id using #NNNNNN.
Fix #55371: get_magic_quotes_gpc() throws deprecation warning
After removing magic quotes, the get_magic_quotes_gpc function caused
a deprecate warning. get_magic_quotes_gpc can be used to detected
the magic_quotes behavior and therefore should not raise a warning at any
time. The patch removes this warning
We do not merge pull requests directly on github. All PRs will be
pulled and pushed through http://git.php.net.
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2012 The PHP Group |
| Copyright (c) 1997-2013 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-2012 The PHP Group |
| Copyright (c) 1997-2013 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-2012 The PHP Group |
| Copyright (c) 1997-2013 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-2012 The PHP Group |
| Copyright (c) 1997-2013 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-2012 The PHP Group |
| Copyright (c) 1997-2013 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-2012 The PHP Group |
| Copyright (c) 1997-2013 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 |
+783 -221
View File
File diff suppressed because it is too large. Load diff
+175 -33
View File
@@ -3,8 +3,15 @@ $Id$
UPGRADE NOTES - PHP X.Y
1. Internal API changes
a. Streams pooling API
b. Lowercasing and locales
a. virtual_file_ex
b. stat/lstat support
c. readlink support
d. layout of some core ZE structures (zend_op_array, zend_class_entry, ...)
e. Zend\zend_fast_cache.h has been removed
f. streams that enclose private streams
g. leak_variable
h. API Signature changes
i. new TSRM function expand_filepath_with_mode
2. Build system changes
a. Unix build system changes
@@ -15,51 +22,186 @@ UPGRADE NOTES - PHP X.Y
1. Internal API changes
========================
a. Streams pooling API
a. virtual_file_ex
The streams pooling API has been removed. The following functions no longer
exist:
virtual_file_ex takes now a TSRM context as last parameter:
CWD_API int virtual_file_ex(cwd_state *state, const char *path,
verify_path_func verify_path, int use_realpath TSRLS_DC);
PHPAPI int php_stream_context_get_link(php_stream_context *context,
const char *hostent, php_stream **stream);
PHPAPI int php_stream_context_set_link(php_stream_context *context,
const char *hostent, php_stream *stream);
PHPAPI int php_stream_context_del_link(php_stream_context *context,
php_stream *stream);
b. Lowercasing and locales
b. stat/lstat support
The lowercasing functions in zend_operators.c were split into those that do
lowercasing according to locale rules and those that do ASCII lowercasing.
ASCII:
lstat is now available on all platforms. On unix-like platform
php_sys_lstat is an alias to lstat (when avaible). On Windows it is now
available using php_sys_lstat. php_sys_stat and php_sys_lstat usage is recommended
instead of calling lstat directly, to ensure portability.
zend_str_tolower_copy
zend_str_tolower_dup
zend_str_tolower
zend_binary_strcasecmp
zend_binary_strncasecmp
Locale-based:
zend_binary_strncasecmp_l
zend_binary_strcasecmp_l
zend_binary_zval_strcasecmp
zend_binary_zval_strncasecmp
string_compare_function_ex
string_case_compare_function
c. readlink support
Internal engine lowercasing will be using ASCII-only rules. User-facing functions,
such as strcasecmp, will be using locale rules.
readlink is now available on all platforms. On unix-like platform
php_sys_readlink is an alias to readlink (when avaible). On Windows it is now
available using php_sys_readlink. php_sys_readlink usage is recommended
instead of calling readlink directly, to ensure portability.
Two new functions - zend_binary_strncasecmp_l and zend_binary_strcasecmp_l - added as
locale-based counterparts to zend_binary_strcasecmp and zend_binary_strncasecmp.
d. layout of some core ZE structures (zend_op_array, zend_class_entry, ...)
. zend_function.pass_rest_by_reference is replaced by
ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags
. zend_function.return_reference is replaced by ZEND_ACC_RETURN_REFERENCE
in zend_function.fn_flags
. zend_arg_info.required_num_args removed. it was needed only for internal
functions. Now the first arg_info for internal function (which has special
meaning) is represented by zend_internal_function_info structure.
. zend_op_array.size, size_var, size_literal, current_brk_cont,
backpatch_count moved into CG(context), because they are used only during
compilation.
. zend_op_array.start_op is moved into EG(start_op), because it's used
only for 'interactive' execution of single top-level op-array.
. zend_op_array.done_pass_two is replaced by ZEND_ACC_DONE_PASS_TWO in
zend_op_array.fn_flags.
. op_array.vars array is trimmed (reallocated) during pass_two.
. zend_class_entry.constants_updated is replaced by
ZEND_ACC_CONSTANTS_UPDATED in zend_class_entry.ce_flags
. the size of zend_class_entry is reduced by sharing the same memory space
by different information for internal and user classes.
See zend_class_inttry.info union.
e. Zend\zend_fast_cache.h
It should not have been used anymore since php5, but now this header has
been removed. The following macros are not available anymore:
ZEND_FAST_ALLOC(p, type, fc_type)
ZEND_FAST_FREE(p, fc_type)
ZEND_FAST_ALLOC_REL(p, type, fc_type)
ZEND_FAST_FREE_REL(p, fc_type)
Use emalloc, emalloc_rel, efree or efree_rel instead.
f. Streams that enclose private streams
Some streams, like the temp:// stream, may enclose private streams. If the
outer stream leaks due to a programming error or is not exposed through a
zval (and therefore is not deleted when all the zvals are gone), it will
be destroyed on shutdown.
The problem is that the outer usually wants itself to close the inner stream,
so that it may do any other shutdown action that requires the inner stream to
be live (e.g. commit data to it). If the outer stream is exposed through a
zval and the inner one isn't, this is not a problem because the outer stream
will be freed when the zval is destroyed, which happens before the resources
are destroyed on shutdown.
On resource list shutdown, the cleanup happens in reverse order of resource
creation, so if the inner stream was created in the opener of the outer stream,
it will be destroyed first.
The following functions were added to the streams API to force a predictable
destruction order:
PHPAPI php_stream *php_stream_encloses(php_stream *enclosing, php_stream *enclosed);
#define php_stream_free_enclosed(stream_enclosed, close_options)
PHPAPI int _php_stream_free_enclosed(php_stream *stream_enclosed, int close_options TSRMLS_DC);
Additionally, the following member was added to php_stream:
struct _php_stream *enclosing_stream;
and the following macro was added:
#define PHP_STREAM_FREE_IGNORE_ENCLOSING 32
The function php_stream_encloses declares the first stream encloses the second.
This has the effect that, when the inner stream is closed from a resource
destructor it will abort and try to free its enclosing stream instead.
To prevent this from happening when the inner stream is freed from the outer
stream, the macro php_stream_free_enclosed should be used instead of
php_stream_free/php_stream_close/php_stream_pclose, or the flag
PHP_STREAM_FREE_IGNORE_ENCLOSING should be directly passed to php_stream_free.
The outer stream cannot abstain, in its close callback, from closing the inner
stream or clear the enclosing_stream pointer in its enclosed stream by calling
php_stream_encloses with the 2nd argument NULL. If this is not done, there will
be problems, so observe this requirement when using php_stream_encloses.
g. leak_variable
The function leak_variable(variable [, leak_data]) was added. It is only
available on debug builds. It increments the refcount of a zval or, if the
second argument is true and the variable is either an object or a resource
it increments the refcounts of those objects instead.
h. API Signature changes
. zend_list_insert
ZEND_API int zend_list_insert(void *ptr, int type TSRMLS_DC);
call: zend_list_insert(a, SOMETYPE TSRMLS_CC);
NB: If zend_list_insert is used to register a resource,
ZEND_REGISTER_RESOURCE could be used instead.
. php_le_stream_context(TSRMLS_C)
PHPAPI php_stream_context *php_stream_context_alloc(TSRMLS_D)
call: context = php_stream_context_alloc(TSRMLS_C);
. php_stream_context_alloc
PHPAPI php_stream_context *php_stream_context_alloc(TSRMLS_D);
call: context = php_stream_context_alloc(TSRMLS_C);
. sapi_get_request_time(TSRMLS_D);
SAPI_API double sapi_get_request_time(TSRMLS_D);
. sapi_register_default_post_reader
SAPI_API int sapi_register_default_post_reader(void (*default_post_reader)(TSRMLS_D) TSRMLS_DC);
. sapi_register_treat_data
SAPI_API int sapi_register_treat_data(void (*treat_data)(int arg, char *str, zval *destArray TSRMLS_DC) TSRMLS_DC);
. sapi_register_input_filter
SAPI_API int sapi_register_input_filter(unsigned int (*input_filter)(int arg, char *var, char **val, unsigned int val_len, unsigned int *new_val_len TSRMLS_DC), unsigned int (*input_filter_init)(TSRMLS_D) TSRMLS_DC);
. tsrm_win32_access
TSRM_API int tsrm_win32_access(const char *pathname, int mode TSRMLS_DC);
. popen_ex (win32)
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env TSRMLS_DC);
. php_get_current_user
PHPAPI php_get_current_user(TSRMLS_D)
Call: char *user = php_get_current_user(TSRMLS_C);
. php_idate
PHPAPI php_idate(char format, time_t ts, int localtime TSRMLS_DC)
Call: int ret = php_idate(format, ts, localtime TSRMLS_CC)
. php_escape_html_entities
(size_t parameters were ints, previous "quote_style" (now flags) has expanded meaning)
PHPAPI char *php_escape_html_entities(unsigned char *old, size_t oldlen, size_t *newlen, int all, int flags, char *hint_charset TSRMLS_DC);
. php_escape_html_entities_ex
PHPAPI char *php_escape_html_entities_ex(unsigned char *old, size_t oldlen, size_t *newlen, int all, int flags, char *hint_charset, zend_bool double_encode TSRMLS_DC);
. php_unescape_html_entities
PHPAPI char *php_unescape_html_entities(unsigned char *old, size_t oldlen, size_t *newlen, int all, int flags, char *hint_charset TSRMLS_DC);
i.
PHPAPI char *expand_filepath_with_mode(const char *filepath, char *real_path, const char *relative_to, size_t relative_to_len, int realpath_mode TSRMLS_DC);
expand_filepath_with_mode lets define how realpath will behave, using one of the existing mode: CWD_EXPAND , CWD_FILEPATH or CWD_REALPATH.
========================
2. Build system changes
========================
a. Unix build system changes
-
- Changes in SAPI module build:
. When adding new binary SAPI (executable, like CLI/CGI/FPM) use CLI config.m4 and Makefile.frag files as templates and replace CLI/cli with your SAPI name.
- New macros:
. PHP_INIT_DTRACE(providerdesc, header-file, sources [, module])
b. Windows build system changes
- Drop Windows XP and 2003 support.
-
+1 -2
View File
@@ -17,8 +17,7 @@ libZend_la_SOURCES=\
zend_objects_API.c zend_ts_hash.c zend_stream.c \
zend_default_classes.c \
zend_iterators.c zend_interfaces.c zend_exceptions.c \
zend_strtod.c zend_closures.c zend_float.c zend_string.c zend_signal.c \
zend_generators.c
zend_strtod.c zend_closures.c zend_float.c zend_string.c zend_signal.c
libZend_la_LDFLAGS =
libZend_la_LIBADD = @ZEND_EXTRA_LIBS@
+1 -1
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:
-4
View File
@@ -159,10 +159,6 @@ SOURCE=.\zend_float.c
# End Source File
# Begin Source File
SOURCE=.\zend_generators.c
# End Source File
# Begin Source File
SOURCE=.\zend_hash.c
# End Source File
# Begin Source File
-4
View File
@@ -185,10 +185,6 @@ SOURCE=.\zend_extensions.c
# End Source File
# Begin Source File
SOURCE=.\zend_generators.c
# End Source File
# Begin Source File
SOURCE=.\zend_hash.c
# End Source File
# Begin Source File
+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===
-37
View File
@@ -1,37 +0,0 @@
--TEST--
Bug #18556 (Setting locale to 'tr_TR' lowercases class names)
--FILE--
<?php
$g_lang = 'tr_TR';
putenv("LANG=$g_lang");
setlocale(LC_ALL, $g_lang);
class InfoBlob {
var $foo;
function InfoBlob() {
$this->foo = "Foo";
}
}
echo "Instantiating an infoBlob with a lowercase i\n";
$foobar = new infoBlob();
echo $foobar->foo;
echo "\nInstantiating an InfoBlob with an uppercase I\n";
$foobar = new InfoBlob();
echo $foobar->foo;
echo "\n";
setlocale(LC_ALL, "tr_TR.utf8");
foreach(get_declared_classes() as $class)
{
if(!class_exists($class))
echo "$class No Longer Exists!\n";
}
echo "Done.\n";
?>
--EXPECT--
Instantiating an infoBlob with a lowercase i
Foo
Instantiating an InfoBlob with an uppercase I
Foo
Done.
+2 -2
View File
@@ -15,7 +15,7 @@ $f = fopen("/tmp/blah", "r");
?>
===DONE===
--EXPECTF--
fopen(/tmp/blah): failed to open stream: No such file or directory (2) in %s:%d
fopen(/tmp/blah): failed to open stream: %s (2) in %s:%d
Warning: fopen(/tmp/blah): failed to open stream: No such file or directory in %s on line %d
Warning: fopen(/tmp/blah): failed to open stream: %s in %s on line %d
===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;
-22
View File
@@ -1,22 +0,0 @@
--TEST--
Bug #60738 Allow 'set_error_handler' to handle NULL
--FILE--
<?php
var_dump(set_error_handler(
function() { echo 'Intercepted error!', "\n"; }
));
trigger_error('Error!');
var_dump(set_error_handler(null));
trigger_error('Error!');
?>
--EXPECTF--
NULL
Intercepted error!
object(Closure)#1 (0) {
}
Notice: Error! in %s on line %d
-23
View File
@@ -1,23 +0,0 @@
--TEST--
Bug #60738 Allow 'set_error_handler' to handle NULL
--FILE--
<?php
var_dump(set_exception_handler(
function() { echo 'Intercepted exception!', "\n"; }
));
var_dump(set_exception_handler(null));
throw new Exception('Exception!');
?>
--EXPECTF--
NULL
object(Closure)#1 (0) {
}
Fatal error: Uncaught exception 'Exception' with message 'Exception!' in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
+1
View File
@@ -4,6 +4,7 @@ test of larger than 8kb text file being parsed by require statement
<?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
+1 -1
View File
@@ -10,7 +10,7 @@ set_error_handler(function($errno, $errstr, $errfile, $errline){
require 'notfound.php';
--EXPECTF--
error(require(notfound.php): failed to open stream: No such file or directory)
error(require(notfound.php): failed to open stream: %s)
Warning: Uncaught exception 'Exception' with message 'Foo' in %sbug60909_1.php:5
Stack trace:
#0 %sbug60909_1.php(8): {closure}(2, 'require(notfoun...', '%s', 8, Array)
-11
View File
@@ -1,11 +0,0 @@
--TEST--
Bug #61681: Malformed grammar
--FILE--
<?php
$la = "ooxx";
echo "${substr('laruence', 0, 2)}";
?>
--EXPECT--
ooxx
+13
View File
@@ -0,0 +1,13 @@
--TEST--
Bug #62343 (Show class_alias In get_declared_classes())
--FILE--
<?php
class a { }
class_alias("a", "b");
$c = get_declared_classes();
var_dump(end($c));
var_dump(prev($c));
?>
--EXPECT--
string(1) "b"
string(1) "a"
-50
View File
@@ -1,50 +0,0 @@
--TEST--
Bug #62991 (Segfault with generator and closure)
--FILE--
<?php
function test( array $array )
{
$closure = function() use ( $array ) {
print_r( $array );
yield "hi";
};
return $closure();
}
function test2( array $array )
{
$closure = function() use ( $array ) {
print_r( $array );
yield "hi";
};
return $closure; // if you return the $closure and call it outside this function it works.
}
$generator = test(array( 1, 2, 3 ) );
foreach($generator as $something) {
}
$generator = test2(array( 1, 2, 3 ) );
foreach($generator() as $something) {
}
$generator = test2(array( 1, 2, 3 ) );
echo "okey\n";
?>
--EXPECT--
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Array
(
[0] => 1
[1] => 2
[2] => 3
)
okey
+74
View File
@@ -0,0 +1,74 @@
--TEST--
Test script to verify that magic methods should be called only once when accessing an unset property.
--CREDITS--
Marco Pivetta <ocramius@gmail.com>
--FILE--
<?php
class Test {
public $publicProperty;
protected $protectedProperty;
private $privateProperty;
public function __construct() {
unset(
$this->publicProperty,
$this->protectedProperty,
$this->privateProperty
);
}
function __get($name) {
echo '__get ' . $name . "\n";
return $this->$name;
}
function __set($name, $value) {
echo '__set ' . $name . "\n";
$this->$name = $value;
}
function __isset($name) {
echo '__isset ' . $name . "\n";
return isset($this->$name);
}
}
$test = new Test();
$test->nonExisting;
$test->publicProperty;
$test->protectedProperty;
$test->privateProperty;
isset($test->nonExisting);
isset($test->publicProperty);
isset($test->protectedProperty);
isset($test->privateProperty);
$test->nonExisting = 'value';
$test->publicProperty = 'value';
$test->protectedProperty = 'value';
$test->privateProperty = 'value';
?>
--EXPECTF--
__get nonExisting
Notice: Undefined property: Test::$nonExisting in %s on line %d
__get publicProperty
Notice: Undefined property: Test::$publicProperty in %s on line %d
__get protectedProperty
Notice: Undefined property: Test::$protectedProperty in %s on line %d
__get privateProperty
Notice: Undefined property: Test::$privateProperty in %s on line %d
__isset nonExisting
__isset publicProperty
__isset protectedProperty
__isset privateProperty
__set nonExisting
__set publicProperty
__set protectedProperty
__set privateProperty
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #63468 (wrong called method as callback with inheritance)
--FILE--
<?php
class Foo
{
public function run()
{
return call_user_func(array('Bar', 'getValue'));
}
private static function getValue()
{
return 'Foo';
}
}
class Bar extends Foo
{
public static function getValue()
{
return 'Bar';
}
}
$x = new Bar;
var_dump($x->run());
--EXPECT--
string(3) "Bar"
+58
View File
@@ -0,0 +1,58 @@
--TEST--
Bug #63635 (Segfault in gc_collect_cycles)
--FILE--
<?php
class Node {
public $parent = NULL;
public $childs = array();
function __construct(Node $parent=NULL) {
if ($parent) {
$parent->childs[] = $this;
}
$this->childs[] = $this;
}
function __destruct() {
$this->childs = NULL;
}
}
define("MAX", 16);
for ($n = 0; $n < 20; $n++) {
$top = new Node();
for ($i=0 ; $i<MAX ; $i++) {
$ci = new Node($top);
for ($j=0 ; $j<MAX ; $j++) {
$cj = new Node($ci);
for ($k=0 ; $k<MAX ; $k++) {
$ck = new Node($cj);
}
}
}
echo "$n\n";
}
echo "ok\n";
--EXPECT--
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ok
+53
View File
@@ -0,0 +1,53 @@
--TEST--
Bug #63762 - Sigsegv when Exception::$trace is changed by user
--FILE--
<?php
$e = new Exception();
$ref = new ReflectionProperty($e, 'trace');
$ref->setAccessible(TRUE);
echo "Array of NULL:\n";
$ref->setValue($e, array(NULL));
var_dump($e->getTraceAsString());
echo "\nArray of empty array:\n";
$ref->setValue($e, array(array()));
var_dump($e->getTraceAsString());
echo "\nArray of array of NULL values:\n";
$ref->setValue($e, array(array(
'file' => NULL,
'line' => NULL,
'class' => NULL,
'type' => NULL,
'function' => NULL,
'args' => NULL
)));
var_dump($e->getTraceAsString());
?>
--EXPECTF--
Array of NULL:
Warning: Expected array for frame 0 in %s on line %d
string(9) "#0 {main}"
Array of empty array:
string(36) "#0 [internal function]: ()
#1 {main}"
Array of array of NULL values:
Warning: Function name is no string in %s on line %d
Warning: Value for class is no string in %s on line %d
Warning: Value for type is no string in %s on line %d
Warning: Value for function is no string in %s on line %d
Warning: args element is no array in %s on line %d
string(60) "#0 [unknown function][unknown][unknown][unknown]()
#1 {main}"
+15
View File
@@ -0,0 +1,15 @@
--TEST--
Bug #63882 (zend_std_compare_objects crash on recursion)
--FILE--
<?php
class Test { public $x = 5; }
$testobj1 = new Test;
$testobj2 = new Test;
$testobj1->x = $testobj1;
$testobj2->x = $testobj2;
var_dump($testobj1 == $testobj2);
?>
--EXPECTF--
Fatal error: Nesting level too deep - recursive dependency? in %sbug63882.php on line 9
+20
View File
@@ -0,0 +1,20 @@
--TEST--
Bug #63976 (Parent class incorrectly using child constant in class property)
--FILE--
<?php
if (1) {
class Foo {
const TABLE = "foo";
public $table = self::TABLE;
}
}
if (1) {
class Bar extends Foo {
const TABLE = "bar";
}
}
$bar = new Bar();
var_dump($bar->table);
?>
--EXPECT--
string(3) "foo"
+15
View File
@@ -0,0 +1,15 @@
--TEST--
Bug #63982 (isset() inconsistently produces a fatal error on protected property)
--FILE--
<?php
class Test {
protected $protectedProperty;
}
$test = new Test();
var_dump(isset($test->protectedProperty));
var_dump(isset($test->protectedProperty->foo));
--EXPECTF--
bool(false)
bool(false)
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug #64239 (get_class_methods() changed behavior)
--FILE--
<?php
class A {
use T2 { t2method as Bmethod; }
}
class B extends A {
}
trait T2 {
public function t2method() {
}
}
print_r(get_class_methods("A"));
print_r(get_class_methods("B"));
--EXPECT--
Array
(
[0] => Bmethod
[1] => t2method
)
Array
(
[0] => Bmethod
[1] => t2method
)
+58
View File
@@ -0,0 +1,58 @@
--TEST--
Bug #64239 (debug_backtrace() changed behavior)
--FILE--
<?php
class A {
use T1;
public function test() { $this->backtrace(); }
}
class B {
use T2 { t2method as Bmethod; }
}
class C extends A {
}
trait T1 {
protected function backtrace() {
$b = new B();
$b->Bmethod();
}
}
trait T2 {
public function t2method() {
print_r(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1));
}
}
$a = new A();
$a->test();
$c = new C();
$c->test();
?>
--EXPECTF--
Array
(
[0] => Array
(
[file] => %sbug64239_2.php
[line] => %d
[function] => Bmethod
[class] => B
[type] => ->
)
)
Array
(
[0] => Array
(
[file] => %sbug64239_2.php
[line] => %d
[function] => Bmethod
[class] => B
[type] => ->
)
)
+33
View File
@@ -0,0 +1,33 @@
--TEST--
Bug #64239 (debug_print_backtrace() changed behavior)
--FILE--
<?php
class A {
use T2 { t2method as Bmethod; }
}
class C extends A {
public function Bmethod() {
debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1);
}
}
trait T2 {
public function t2method() {
debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1);
}
}
$a = new A();
$a->Bmethod();
$a->t2method();
$c = new C();
$c->Bmethod();
$c->t2method();
?>
--EXPECTF--
#0 A->Bmethod() called at [%sbug64239_3.php:%d]
#0 A->t2method() called at [%sbug64239_3.php:%d]
#0 C->Bmethod() called at [%sbug64239_3.php:%d]
#0 A->t2method() called at [%sbug64239_3.php:%d]
+31
View File
@@ -0,0 +1,31 @@
--TEST--
Bug #64239 (debug_print_backtrace() changed behavior)
--FILE--
<?php
class A {
use T2 { t2method as Bmethod; }
}
class C extends A {
public static function Bmethod() {
debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1);
}
}
trait T2 {
public static function t2method() {
debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1);
}
}
A::Bmethod();
A::t2method();
C::Bmethod();
C::t2method();
?>
--EXPECTF--
#0 A::Bmethod() called at [%sbug64239_4.php:%d]
#0 A::t2method() called at [%sbug64239_4.php:%d]
#0 C::Bmethod() called at [%sbug64239_4.php:%d]
#0 A::t2method() called at [%sbug64239_4.php:%d]
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Bug #64354 (Unserialize array of objects whose class can't be autoloaded fail)
--FILE--
<?php
class B implements Serializable {
public function serialize() {
throw new Exception("serialize");
return NULL;
}
public function unserialize($data) {
}
}
$data = array(new B);
try {
serialize($data);
} catch (Exception $e) {
var_dump($e->getMessage());
}
?>
--EXPECTF--
string(9) "serialize"
+39
View File
@@ -0,0 +1,39 @@
--TEST--
Bug #64417 (BC break: ArrayAccess::&offsetGet() in a trait causes fatal error)
--FILE--
<?php
trait aa {
private $container = array();
public function offsetSet($offset, $value) {
if (is_null($offset)) {
$this->container[] = $value;
} else {
$this->container[$offset] = $value;
}
}
public function offsetExists($offset) {
return isset($this->container[$offset]);
}
public function offsetUnset($offset) {
unset($this->container[$offset]);
}
public function &offsetGet($offset) {
$result = null;
if (isset($this->container[$offset])) {
$result = &$this->container[$offset];
}
return $result;
}
}
class obj implements ArrayAccess {
use aa;
}
$o = new obj;
$o['x'] = 1;
++$o['x'];
echo $o['x'], "\n";
--EXPECT--
2
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Bug #64515 (Memoryleak when using the same variablename 2times in function declaration)
--FILE--
<?php
function foo($unused = null, $unused = null, $arg = array()) {
return 1;
}
foo();
echo "okey";
?>
--EXPECT--
okey
+14
View File
@@ -0,0 +1,14 @@
--TEST--
Bug #64578 (debug_backtrace in set_error_handler corrupts zend heap: segfault)
--FILE--
<?php
set_error_handler(function($no, $err) { var_dump($err); });
function x($s) { $s['a'] = 1; };
$y = '1';
x($y);
print_r($y);
--EXPECTF--
string(25) "Illegal string offset 'a'"
1
+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
+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
-32
View File
@@ -1,32 +0,0 @@
--TEST--
Try catch finally (basic test)
--FILE--
<?php
function foo ($throw = FALSE) {
try {
echo "try\n";
if ($throw) {
throw new Exception("ex");
}
} catch (Exception $e) {
echo "catch\n";
} finally {
echo "finally\n";
}
echo "end\n";
}
foo();
echo "\n";
foo(true);
?>
--EXPECTF--
try
finally
end
try
catch
finally
end
-21
View File
@@ -1,21 +0,0 @@
--TEST--
Try catch finally (basic test with return)
--FILE--
<?php
function foo () {
try {
echo "try\n";
return 1;
} catch (Exception $e) {
} finally {
echo "finally\n";
}
return 2;
}
var_dump(foo());
?>
--EXPECTF--
try
finally
int(1)
-40
View File
@@ -1,40 +0,0 @@
--TEST--
Try catch finally (with multi-returns)
--FILE--
<?php
function dummy($msg) {
var_dump($msg);
}
function foo ($a) {
try {
dummy("try");
return $a;
} catch (Exception $e) {
throw $e;
} finally {
dummy("finally");
return "finally";
}
return "end";
}
function &bar($a) {
try {
echo "try\n";
throw new Exception("ex");
} catch (Exception $e) {
} finally {
return $a;
}
return ($c = "end");
}
var_dump(foo("para"));
var_dump(bar("para"));
?>
--EXPECTF--
string(3) "try"
string(7) "finally"
string(7) "finally"
try
string(4) "para"
-41
View File
@@ -1,41 +0,0 @@
--TEST--
Try catch finally (nesting try-catch-finally)
--FILE--
<?php
function throw_exception($msg) {
throw new Exception($msg);
}
function foo (&$ex) {
try {
echo "1";
try {
echo "2";
throw_exception("try");
} catch (Exception $e) {
echo "3";
throw_exception("catch");
} finally {
echo "4";
throw_exception("finally");
}
} catch (Exception $e) {
$ex = $e;
echo "3";
} finally {
echo "2";
}
return 1;
}
var_dump(foo($ex));
do {
var_dump($ex->getMessage());
} while ($ex = $ex->getPrevious());
?>
--EXPECT--
123432int(1)
string(7) "finally"
string(5) "catch"
-21
View File
@@ -1,21 +0,0 @@
--TEST--
Try catch finally (with multi-returns and exception)
--FILE--
<?php
function foo ($a) {
try {
throw new Exception("ex");
} catch (PdoException $e) {
die("error");
} catch (Exception $e) {
return 2;
} finally {
return 3;
}
return 1;
}
var_dump(foo("para"));
?>
--EXPECTF--
int(3)
-28
View File
@@ -1,28 +0,0 @@
--TEST--
Try catch finally (re-throw exception in catch block)
--FILE--
<?php
function foo ($a) {
try {
throw new Exception("ex");
} catch (Exception $e) {
var_dump($a);
throw $e;
} finally {
var_dump("finally");
return "return";
}
return 1;
}
try {
var_dump(foo("para"));
} catch (Exception $e) {
"caught exception" . PHP_EOL;
var_dump($e->getMessage());
}
?>
--EXPECT--
string(4) "para"
string(7) "finally"
string(2) "ex"
-21
View File
@@ -1,21 +0,0 @@
--TEST--
Const array deference
--FILE--
<?php
error_reporting(E_ALL);
var_dump(array(1, 2, 3, 4,) [3]);
var_dump(array(1, 2, 3, 4,) ['foo']);
var_dump(array(array(1,2,3), array(4, 5, 6))[1][2]);
foreach (array(array(1, 2, 3))[0] as $var) {
echo $var;
}
?>
--EXPECTF--
int(4)
Notice: Undefined index: foo in %sconst_dereference_001.php on line %d
NULL
int(6)
123
-18
View File
@@ -1,18 +0,0 @@
--TEST--
Const string dereference
--FILE--
<?php
error_reporting(E_ALL);
var_dump("foobar"[3]);
var_dump("foobar"[2][0]);
var_dump("foobar"["foo"]["bar"]);
--EXPECTF--
string(1) "b"
string(1) "o"
Warning: Illegal string offset 'foo' in %sconst_dereference_002.php on line %d
Warning: Illegal string offset 'bar' in %sconst_dereference_002.php on line %d
string(1) "f"
-21
View File
@@ -1,21 +0,0 @@
--TEST--
Const array deference
--FILE--
<?php
error_reporting(E_ALL);
var_dump([1, 2, 3, 4,][3]);
var_dump([1, 2, 3, 4]['foo']);
var_dump([array(1,2,3), [4, 5, 6]][1][2]);
foreach (array([1, 2, 3])[0] as $var) {
echo $var;
}
?>
--EXPECTF--
int(4)
Notice: Undefined index: foo in %sconst_dereference_003.php on line %d
NULL
int(6)
123
-32
View File
@@ -1,32 +0,0 @@
--TEST--
empty() with arbitrary expressions
--FILE--
<?php
function getEmptyArray() { return []; }
function getNonEmptyArray() { return [1, 2, 3]; }
var_dump(empty([]));
var_dump(empty([1, 2, 3]));
var_dump(empty(getEmptyArray()));
var_dump(empty(getNonEmptyArray()));
var_dump(empty([] + []));
var_dump(empty([1, 2, 3] + []));
var_dump(empty("string"));
var_dump(empty(""));
var_dump(empty(true));
var_dump(empty(false));
--EXPECT--
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
bool(true)
bool(false)
bool(true)
+12
View File
@@ -0,0 +1,12 @@
--TEST--
errmsg: cannot create references to temp array
--FILE--
<?php
foreach (array(1,2,3) as $k=>&$v) {
}
echo "Done\n";
?>
--EXPECTF--
Fatal error: Cannot create references to elements of a temporary array expression in %s on line %d
-43
View File
@@ -1,43 +0,0 @@
--TEST--
foreach with list syntax
--FILE--
<?php
foreach(array(array(1,2), array(3,4)) as list($a, $b)) {
var_dump($a . $b);
}
$array = array(
array('a', 'b'),
array('c', 'd'),
);
foreach ($array as list($a, $b)) {
var_dump($a . $b);
}
$multi = array(
array(array(1,2), array(3,4)),
array(array(5,6), array(7,8)),
);
foreach ($multi as list(list($a, $b), list($c, $d))) {
var_dump($a . $b . $c . $d);
}
foreach ($multi as $key => list(list($a, $b), list($c, $d))) {
var_dump($key . $a . $b . $c . $d);
}
?>
--EXPECT--
string(2) "12"
string(2) "34"
string(2) "ab"
string(2) "cd"
string(4) "1234"
string(4) "5678"
string(5) "01234"
string(5) "15678"
-26
View File
@@ -1,26 +0,0 @@
--TEST--
foreach with freak lists
--FILE--
<?php
foreach (array(array(1,2), array(3,4)) as list($a, )) {
var_dump($a);
}
$array = [['a', 'b'], 'c', 'd'];
foreach($array as list(list(), $a)) {
var_dump($a);
}
?>
--EXPECTF--
int(1)
int(3)
string(1) "b"
Notice: Uninitialized string offset: 1 in %sforeach_list_002.php on line %d
string(0) ""
Notice: Uninitialized string offset: 1 in %sforeach_list_002.php on line %d
string(0) ""
-13
View File
@@ -1,13 +0,0 @@
--TEST--
foreach with list key
--FILE--
<?php
$array = [['a', 'b'], 'c', 'd'];
foreach($array as list($key) => list(list(), $a)) {
}
?>
--EXPECTF--
Fatal error: Cannot use list as key element in %sforeach_list_003.php on line %d
-13
View File
@@ -1,13 +0,0 @@
--TEST--
foreach with empty list
--FILE--
<?php
$array = [['a', 'b'], 'c', 'd'];
foreach($array as $key => list()) {
}
?>
--EXPECTF--
Fatal error: Cannot use empty list in %sforeach_list_004.php on line %d
@@ -1,18 +0,0 @@
--TEST--
Temporary array expressions can be iterated by reference
--FILE--
<?php
$a = 'a';
$b = 'b';
foreach ([&$a, &$b] as &$value) {
$value .= '-foo';
}
var_dump($a, $b);
?>
--EXPECT--
string(5) "a-foo"
string(5) "b-foo"
+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,22 +0,0 @@
--TEST--
Generator keys are auto-incrementing by default
--FILE--
<?php
function gen() {
yield 'foo';
yield 'bar';
yield 5 => 'rab';
yield 'oof';
}
foreach (gen() as $k => $v) {
echo $k, ' => ', $v, "\n";
}
?>
--EXPECT--
0 => foo
1 => bar
5 => rab
6 => oof
-27
View File
@@ -1,27 +0,0 @@
--TEST--
Printing the stack trace in a generator
--FILE--
<?php
function f1() {
debug_print_backtrace();
}
function f2($arg1, $arg2) {
f1();
yield; // force generator
}
function f3($gen) {
$gen->rewind(); // trigger run
}
$gen = f2('foo', 'bar');
f3($gen);
?>
--EXPECTF--
#0 f1() called at [%s:%d]
#1 f2(foo, bar)
#2 Generator->rewind() called at [%s:%d]
#3 f3(Generator Object ()) called at [%s:%d]
-32
View File
@@ -1,32 +0,0 @@
--TEST--
Generators can be cloned
--FILE--
<?php
function firstN($end) {
for ($i = 0; $i < $end; ++$i) {
yield $i;
}
}
$g1 = firstN(5);
var_dump($g1->current());
$g1->next();
$g2 = clone $g1;
var_dump($g2->current());
$g2->next();
var_dump($g2->current());
var_dump($g1->current());
$g1->next();
var_dump($g1->current());
?>
--EXPECT--
int(0)
int(1)
int(2)
int(1)
int(2)
@@ -1,33 +0,0 @@
--TEST--
Cloning a generator with a foreach loop properly adds a ref for the loop var
--FILE--
<?php
function gen() {
foreach ([1, 2, 3] as $i) {
yield $i;
}
}
$g1 = gen();
var_dump($g1->current());
$g2 = clone $g1;
var_dump($g2->current());
$g1->next();
$g2->next();
var_dump($g1->current());
var_dump($g2->current());
unset($g1);
$g2->next();
var_dump($g2->current());
?>
--EXPECT--
int(1)
int(1)
int(2)
int(2)
int(3)
@@ -1,18 +0,0 @@
--TEST--
A generator with an active stack can be cloned
--FILE--
<?php
function gen() {
var_dump(str_repeat("x", yield));
}
$g1 = gen();
$g1->rewind();
$g2 = clone $g1;
unset($g1);
$g2->send(10);
?>
--EXPECT--
string(10) "xxxxxxxxxx"
@@ -1,27 +0,0 @@
--TEST--
A generator using a symbol table can be cloned
--FILE--
<?php
function gen() {
// force compiled variable for $foo
$foo = 'foo';
// force symbol table
extract(['foo' => 'bar']);
// interrupt
yield;
var_dump($foo);
}
$g1 = gen();
$g1->rewind();
$g2 = clone $g1;
unset($g1);
$g2->next();
?>
--EXPECT--
string(3) "bar"
@@ -1,24 +0,0 @@
--TEST--
Cloning a generator method (with $this)
--FILE--
<?php
class Test {
protected $foo;
public function gen() {
$this->foo = 'bar';
yield; // interrupt
var_dump($this->foo);
}
}
$g1 = (new Test)->gen();
$g1->rewind(); // goto yield
$g2 = clone $g1;
unset($g1);
$g2->next();
?>
--EXPECT--
string(3) "bar"
-19
View File
@@ -1,19 +0,0 @@
--TEST--
It's possible to invoke a generator dynamically
--FILE--
<?php
function gen($foo, $bar) {
yield $foo;
yield $bar;
}
$gen = call_user_func('gen', 'bar', 'foo');
foreach ($gen as $value) {
var_dump($value);
}
?>
--EXPECT--
string(3) "bar"
string(3) "foo"
@@ -1,13 +0,0 @@
--TEST--
Generators cannot return values (even before yield)
--FILE--
<?php
function gen() {
return $foo;
yield;
}
?>
--EXPECTF--
Fatal error: Generators cannot return values using "return" in %s on line 4
@@ -1,13 +0,0 @@
--TEST--
Generators cannot return values
--FILE--
<?php
function gen() {
yield;
return $abc;
}
?>
--EXPECTF--
Fatal error: Generators cannot return values using "return" in %s on line 5
@@ -1,10 +0,0 @@
--TEST--
The Generator class cannot be extended
--FILE--
<?php
class ExtendedGenerator extends Generator { }
?>
--EXPECTF--
Fatal error: Class ExtendedGenerator may not inherit from final class (Generator) in %s on line %d
@@ -1,10 +0,0 @@
--TEST--
It's not possible to directly instantiate the Generator class
--FILE--
<?php
new Generator;
?>
--EXPECTF--
Catchable fatal error: The "Generator" class is reserved for internal use and cannot be manually instantiated in %s on line %d
@@ -1,18 +0,0 @@
--TEST--
Non-ref generators cannot be iterated by-ref
--FILE--
<?php
function gen() { yield; }
$gen = gen();
foreach ($gen as &$value) { }
?>
--EXPECTF--
Fatal error: Uncaught exception 'Exception' with message 'You can only iterate a generator by-reference if it declared that it yields by-reference' in %s:%d
Stack trace:
#0 %s(%d): unknown()
#1 {main}
thrown in %s on line %d
@@ -1,17 +0,0 @@
--TEST--
It is not possible to resume an already running generator
--FILE--
<?php
function gen() {
$gen = yield;
$gen->next();
}
$gen = gen();
$gen->send($gen);
$gen->next();
?>
--EXPECTF--
Fatal error: Cannot resume an already running generator in %s on line %d
@@ -1,46 +0,0 @@
--TEST--
Generators can't be serialized or unserialized
--FILE--
<?php
function gen() { yield; }
$gen = gen();
try {
serialize($gen);
} catch (Exception $e) {
echo $e, "\n\n";
}
try {
var_dump(unserialize('O:9:"Generator":0:{}'));
} catch (Exception $e) {
echo $e, "\n\n";
}
try {
var_dump(unserialize('C:9:"Generator":0:{}'));
} catch (Exception $e) {
echo $e;
}
?>
--EXPECTF--
exception 'Exception' with message 'Serialization of 'Generator' is not allowed' in %s:%d
Stack trace:
#0 %s(%d): serialize(Object(Generator))
#1 {main}
exception 'Exception' with message 'Unserialization of 'Generator' is not allowed' in %s:%d
Stack trace:
#0 [internal function]: Generator->__wakeup()
#1 %s(%d): unserialize('O:9:"Generator"...')
#2 {main}
Notice: unserialize(): Error at offset 19 of 20 bytes in %s on line %d
exception 'Exception' with message 'Unserialization of 'Generator' is not allowed' in %s:%d
Stack trace:
#0 %s(%d): unserialize('C:9:"Generator"...')
#1 {main}
@@ -1,16 +0,0 @@
--TEST--
A notice is thrown when yielding a constant value by reference
--FILE--
<?php
function &gen() {
yield "foo";
}
$gen = gen();
var_dump($gen->current());
?>
--EXPECTF--
Notice: Only variable references should be yielded by reference in %s on line %d
string(3) "foo"
@@ -1,29 +0,0 @@
--TEST--
yield cannot be used in a finally block when the generator is force-closed
--FILE--
<?php
function gen() {
try {
echo "before yield\n";
yield;
echo "after yield\n";
} finally {
echo "before yield in finally\n";
yield;
echo "after yield in finally\n";
}
echo "after finally\n";
}
$gen = gen();
$gen->rewind();
unset($gen);
?>
--EXPECTF--
before yield
before yield in finally
Fatal error: Cannot yield from finally in a force-closed generator in %s on line %d
@@ -1,20 +0,0 @@
--TEST--
Yielding the result of a non-ref function call throw a notice
--FILE--
<?php
function foo() {
return "bar";
}
function &gen() {
yield foo();
}
$gen = gen();
var_dump($gen->current());
?>
--EXPECTF--
Notice: Only variable references should be yielded by reference in %s on line %d
string(3) "bar"
@@ -1,10 +0,0 @@
--TEST--
Yield cannot be used outside of functions
--FILE--
<?php
yield "Test";
?>
--EXPECTF--
Fatal error: The "yield" expression can only be used inside a function in %s on line %d
-36
View File
@@ -1,36 +0,0 @@
--TEST--
Creating an infinite fibonacci list using a generator
--FILE--
<?php
function fib() {
list($a, $b) = [1, 1];
while (true) {
yield $b;
list($a, $b) = [$b, $a + $b];
}
}
foreach (fib() as $n) {
if ($n > 1000) break;
var_dump($n);
}
?>
--EXPECT--
int(1)
int(2)
int(3)
int(5)
int(8)
int(13)
int(21)
int(34)
int(55)
int(89)
int(144)
int(233)
int(377)
int(610)
int(987)
@@ -1,25 +0,0 @@
--TEST--
finally is run even if a generator is closed mid-execution
--FILE--
<?php
function gen() {
try {
echo "before yield\n";
yield;
echo "after yield\n";
} finally {
echo "finally run\n";
}
echo "code after finally\n";
}
$gen = gen();
$gen->rewind();
unset($gen);
?>
--EXPECT--
before yield
finally run
@@ -1,28 +0,0 @@
--TEST--
Use of finally in generator without interrupt
--FILE--
<?php
function gen() {
try {
throw new Exception;
} finally {
echo "finally run\n";
}
yield; // force generator
}
$gen = gen();
$gen->rewind(); // force run
?>
--EXPECTF--
finally run
Fatal error: Uncaught exception 'Exception' in %s:%d
Stack trace:
#0 [internal function]: gen()
#1 %s(%d): Generator->rewind()
#2 {main}
thrown in %s on line %d
@@ -1,33 +0,0 @@
--TEST--
Use of finally in generator with return
--FILE--
<?php
function gen() {
try {
try {
echo "before return\n";
return;
echo "after return\n";
} finally {
echo "before return in inner finally\n";
return;
echo "after return in inner finally\n";
}
} finally {
echo "outer finally run\n";
}
echo "code after finally\n";
yield; // force generator
}
$gen = gen();
$gen->rewind(); // force run
?>
--EXPECTF--
before return
before return in inner finally
outer finally run
-21
View File
@@ -1,21 +0,0 @@
--TEST--
func_get_args() can be used inside generator functions
--FILE--
<?php
function gen() {
var_dump(func_get_args());
yield; // trigger generator
}
$gen = gen("foo", "bar");
$gen->rewind();
?>
--EXPECT--
array(2) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
}
@@ -1,20 +0,0 @@
--TEST--
Closures can be generators
--FILE--
<?php
$genFactory = function() {
yield 1;
yield 2;
yield 3;
};
foreach ($genFactory() as $value) {
var_dump($value);
}
?>
--EXPECT--
int(1)
int(2)
int(3)
Loaded 100 of 2012 files, more files were not shown because too many files have changed in this diff. Show more