Compare commits

...
643 Commits
Author SHA1 Message Date
Ilia Alshanetsky 486e05d2f2 5.3.7RC3 2011-07-14 12:01:57 +00:00
Ilia Alshanetsky 894cfb078b 5.3.7RC3 2011-07-14 12:01:37 +00:00
Jérôme Loyet b892d762e5 find option '-not' is not POSIX compliant 2011-07-13 23:28:48 +00:00
Daniel Convissor 6672b31c45 Have test for add/sub/diff one second during DST/ST transition. 2011-07-13 16:22:58 +00:00
Daniel Convissor cafb45221f Add test for constructing times during the dst/st conversion. 2011-07-13 16:21:10 +00:00
Pierre Joye 3be1f24fba - Fixed bug #55187, readlink returns weird characters when false result 2011-07-12 15:15:17 +00:00
Pierre Joye b8251d54a8 - Bug #55169, improve fix, allow non interactive user, hash-like ops only usage 2011-07-12 11:46:41 +00:00
Stanislav Malyshev 1ee8ff3b7d remove warning for is_a() BC 2011-07-12 05:20:40 +00:00
Ilia Alshanetsky 992d32c6a7 Fixed bug #55014 (Compile failure due to improper use of ctime_r()). 2011-07-11 17:01:23 +00:00
Dmitry Stogov ac1ae51a38 Fixed bug #54305 (Crash in gc_remove_zval_from_buffer) 2011-07-11 10:31:49 +00:00
Dmitry Stogov 7d1eef4aa7 Fixed bug #54332 (Crash in zend_mm_check_ptr // Heap corruption) 2011-07-11 09:47:59 +00:00
Pierre Joye 5d5951f247 - fix bug #55169, mcrypt_create_iv always fails to gather sufficient random data 2011-07-10 14:36:32 +00:00
Pierre Joye 8ec6ada087 - use warning here to match unix behavior 2011-07-10 14:19:51 +00:00
Felipe Pena ae40e5f400 - Year++ 2011-07-10 13:05:32 +00:00
Felipe Pena 7b68c1e634 - Missing to commit this change here... (thanks nikic) 2011-07-08 16:29:33 +00:00
Felipe Pena 1cf3ec5eab - Fixed bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none) 2011-07-07 23:07:14 +00:00
Andrey Hristov 774e127a00 free data in case of failure in the callee not in the caller 2011-07-05 20:31:53 +00:00
Ilia Alshanetsky 43edfb2710 Fixed bug relating to un-initialized memory access 2011-07-05 20:10:45 +00:00
Jérôme Loyet c4b7abb4ea - Fixed wrong value of log_level when invoking fpm with -tt 2011-07-05 18:09:07 +00:00
Gustavo André dos Santos Lopes 987c843674 - Fixed bug #52935 (call exit in user_error_handler cause stream relate core). 2011-07-05 16:09:06 +00:00
Jérôme Loyet d5899d0b33 - ws and cosmetics 2011-07-05 02:42:40 +00:00
Jérôme Loyet efcfbc953e Fixed memory leak 2011-07-05 01:43:50 +00:00
Jérôme Loyet c4d83a413c - moved STR2STR, BOOL2STR and PM2STR from fpm_conf.h to fpm_conf.c (Giovanni Giacobbi) 2011-07-05 01:24:10 +00:00
Stanislav Malyshev 5bd0be8a15 fix crypt() issue with overlong salt 2011-07-04 23:38:09 +00:00
Jérôme Loyet 46ac1e373a alloc SHM for all children at startup to ensure all SHM will be reachable from children over the ages 2011-07-04 22:39:15 +00:00
Jérôme Loyet 5c2477a0d8 child-pid can't be set when fpm_child_resources_use is called 2011-07-04 21:37:28 +00:00
Jérôme Loyet 8237737bd9 - Fixed missing Expires and Cache-Control headers for ping and status pages 2011-07-04 21:29:32 +00:00
Jérôme Loyet 4eb7fc8aa6 - revert commit 312812 until 5.3.7 is out 2011-07-04 21:22:56 +00:00
Dmitry Stogov 293f710827 Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces) 2011-07-04 14:55:39 +00:00
Jérôme Loyet 7fb6b5ca98 fix comment syntax 2011-07-04 12:49:46 +00:00
Felipe Pena 37dab6afee - Fixed bug #54329 (MSSql extension memory leak)
patch by: dotslashpok at gmail dot com
2011-07-03 19:01:42 +00:00
Jérôme Loyet 74b693f16b - Implemented FR #54172 (Overriding the pid file location of php-fpm) 2011-07-02 23:41:01 +00:00
Jérôme Loyet 6d64b2a4c9 - Implemented FR #54499 (FPM ping and status_path should handle HEAD request) 2011-07-02 16:34:39 +00:00
Jérôme Loyet 217382d4ef - Implemented FR #54577 (Enhanced status page with full status and details about each processes
- Added a web page (status.html) for real-time FPM status
- Fixed missing Expires and Cache-Control headers for ping and status pages
2011-07-02 16:10:18 +00:00
Felipe Pena 5f75a28d01 - Fixed bug #55080 (Deprecated call in run--test.php)
patch by: fedora at famillecollet dot com
2011-07-01 23:13:53 +00:00
Ilia Alshanetsky 8f80896718 Back to dev 2011-06-30 13:31:39 +00:00
Ilia Alshanetsky 05763e18bb 5.3.7RC2 2011-06-30 13:16:27 +00:00
Gustavo André dos Santos Lopes 3dafd9549d - Fixed bug #55082 (var_export() doesn't escape properties properly). 2011-06-30 09:26:35 +00:00
Adam Harvey 85bf6f0329 Fix bug #55066 (Missing linebreak in NEWS). 2011-06-30 06:14:41 +00:00
Ilia Alshanetsky aa2ec7517e Fixed test 2011-06-28 23:47:05 +00:00
Knut Urdalen 819be8a3b2 working on test coverage for ext/dom, here's 17 more tests 2011-06-28 20:17:15 +00:00
Pierrick Charron 1b416caeb1 Fixed bug #54971 (Wrong result when using iterator_to_array with use_keys on true) 2011-06-28 11:09:06 +00:00
Christopher Jones 0c2ee427d7 Keep the DBA DB4 test status quo after Berkeley DB 5.2 introduced error message prefixes 2011-06-27 22:58:59 +00:00
Hannes Magnusson e788932a91 Fix 5.1 detection on ubuntu natty 2011-06-27 20:28:30 +00:00
Christopher Jones cf6b208cab missed version sync with 5.4 2011-06-27 17:24:55 +00:00
Derick Rethans 93fcf04fc1 - Updated to version 2011.8 (2011h) 2011-06-27 11:47:43 +00:00
Jérôme Loyet c9a0fbe122 - fixed request_timeout and slowlog_timeout from last FPM commit (r312496)
- typo
2011-06-27 11:33:03 +00:00
Felipe Pena c1d43480cc - BFN 2011-06-27 01:39:01 +00:00
Felipe Pena 92ef080a2e - Fixed data type usage in 64bit
Reported by: Leonildo Costa
2011-06-27 01:36:39 +00:00
Jérôme Loyet f5b05ce162 - Replaced shm_slots with a real scoreboard
- Added several improvements to the status page
2011-06-26 15:48:11 +00:00
Pierre Joye 0d7226ed60 - reflection is always enabled 2011-06-25 10:47:54 +00:00
Knut Urdalen 778edca904 fixed temp directory names in spl tests 2011-06-25 07:45:41 +00:00
Knut Urdalen f8e21c395b fixed/refactored some spl tests related to owner/group retrieval 2011-06-25 04:50:42 +00:00
Christopher Jones d70a9f988d Add http_proxy env var support to run-tests.php result submission 2011-06-24 23:10:37 +00:00
Felipe Pena 10c20ceaf4 - Added SKIPIF 2011-06-24 19:18:06 +00:00
Felipe Pena 6c07bc8004 - BFN 2011-06-24 00:53:52 +00:00
Felipe Pena 08ddf683fc - Fixed crash in error_log() (strlen(NULL)) reported by: shm, Maksymilian Arciemowicz 2011-06-23 21:48:15 +00:00
Hannes Magnusson 71a5c3d7ec These are annoyingly slow 2011-06-23 21:27:42 +00:00
Jérôme Loyet bbe8518456 - Added custom access log (also added per request %CPU and memory mesurement) 2011-06-23 08:03:52 +00:00
Hannes Magnusson 12081f5659 Add charset, fixes the validate_on_parse test (confik) 2011-06-22 14:59:20 +00:00
Shein Alexey 113e304dcf Fixed dom tests. 2011-06-22 09:28:14 +00:00
Patrick Allaert d10755c0e6 Fixed typo 2011-06-20 20:42:02 +00:00
Jérôme Loyet 955b801fea Removed pid in debug logs written by chrildren processes 2011-06-20 00:03:39 +00:00
Daniel Convissor 887f30dc61 Make xfail text not reference a particular version now that 5.4 branch exists. 2011-06-19 16:46:32 +00:00
Felipe Pena 8d6e997315 - Opss, restore old behavior 2011-06-19 14:50:44 +00:00
Felipe Pena 0806f78f77 - Added missing void param check in sys_get_temp_dir
- Fixed param check of umask()
2011-06-19 14:27:33 +00:00
Felipe Pena f4554096e1 - New tests (code coverage++) 2011-06-19 12:33:49 +00:00
Felipe Pena 3964ddd1c4 - Added missing void param checks, and fix arginfo 2011-06-18 22:48:31 +00:00
Felipe Pena e3da6ac3da - Missing change 2011-06-18 17:46:16 +00:00
Felipe Pena 6481440f3f - Fixed ZTS build 2011-06-18 17:41:56 +00:00
Jérôme Loyet 23a5f873fb Added master rlimit_files and rlimit_core in the global configuration settings 2011-06-18 16:27:48 +00:00
Jérôme Loyet 6e1f77ef6b Fixed exit at FPM startup on fpm_resources_prepare 2011-06-18 16:15:15 +00:00
Jérôme Loyet 606d61bd1c ws 2011-06-18 16:05:56 +00:00
Felipe Pena 2b309c8f9e - Added missing arginfos for void params and void param checks 2011-06-18 15:56:14 +00:00
Jérôme Loyet 22be55e6da Remove timestamp in logs written by children process 2011-06-18 15:33:07 +00:00
Daniel Convissor 370d483bcb Provide test for DateTime::add() issue (for discussion on internals, bugs.php.net is down). 2011-06-18 01:00:56 +00:00
Daniel Convissor 249667f9e3 Split DateTime diff/add/sub tests into separate files to make things easier to see, test and (one hopes) fix. 2011-06-18 00:29:52 +00:00
Jérôme Loyet fd0009d8d6 missing doc in the conf file 2011-06-17 23:35:47 +00:00
Jérôme Loyet cff7a300d1 - added xml format to the status page
- clean fpm_status.c code
2011-06-17 23:19:54 +00:00
Christopher Jones 52cc62d825 Remove duplicate lines present in PHP_5_3's .phpt (dtajchreber) 2011-06-17 21:42:40 +00:00
Christopher Jones 21abc2f1c1 Fix skipif to resolve the common reason this test fails 2011-06-17 18:28:34 +00:00
Derick Rethans 4b9857e7a4 - Fixed bug where the DateTime object got changed while using date_diff(). 2011-06-17 16:38:23 +00:00
Felipe Pena f7ee12e928 - Fixed two "jump or move depends on uninitialised value" 2011-06-17 02:00:20 +00:00
Pierre Joye ccae79a2c3 - did I not kill that already? (do not use rand_screen, pointless on server and not TS) 2011-06-16 13:06:41 +00:00
Johannes Schlüter 262492a187 - Back to -dev 2011-06-16 12:47:39 +00:00
Johannes Schlüter 06d5c9a8f0 5.3.7RC1 2011-06-16 12:40:37 +00:00
Pierre Joye 0ff4d7d811 - fix nts build 2011-06-16 10:20:25 +00:00
Pierre Joye 23c4c46b36 - init win32 rng context once per process 2011-06-16 01:31:10 +00:00
Pierre Joye b498b5dfe5 - install extra headers 2011-06-16 01:21:01 +00:00
Gustavo André dos Santos Lopes ba3498ea33 - Broken overlong (>80 chars) lines.
- Added entry corresponding to r301991, as requested.
2011-06-14 22:18:29 +00:00
Scott MacVicar c2ca352598 Upgrade SQLite to 3.7.6.3 2011-06-14 17:00:49 +00:00
Felipe Pena d42a0aee91 - Added CVE id 2011-06-13 19:47:31 +00:00
Felipe Pena e854b05aea - Fix build on Windows 2011-06-13 17:52:23 +00:00
Timm Friebe 6210bf0dba - MFH suppression of compiler warning noted in bug #55009 2011-06-13 08:45:21 +00:00
Felipe Pena 209bfe82e5 - Fixed bug #54624 (class_alias and type hint) 2011-06-12 21:10:31 +00:00
Felipe Pena 9d80c25005 - Fix test again 2011-06-12 21:05:16 +00:00
Felipe Pena 1a615eeaa2 - Added Bison 2.5 to bison_version_list 2011-06-12 17:26:45 +00:00
Felipe Pena 75fa63b57f - Fixed bug #54939 (File path injection vulnerability in RFC1867 File upload filename)
Reported by: kkotowicz at gmail dot com
2011-06-12 15:14:18 +00:00
Felipe Pena bb16e23891 - Restore test (the change related to this test weren't committed to this branch) 2011-06-12 03:01:12 +00:00
Felipe Pena 0ec1758381 - Fixed bug #54680 (missing TRACK_VARS_SERVER check) 2011-06-12 02:47:48 +00:00
Felipe Pena 86ed2eeb5d - Avoid zend_do_ticks() call for each statement in parsing 2011-06-12 01:43:10 +00:00
Gustavo André dos Santos Lopes a54847a0fb - Reverted r301991, which is a (partial) fix to bug #52550, addressing an
overflow in a signed subtraction. This fixes the overflow without
  changing the algorithm.
2011-06-12 00:56:18 +00:00
Felipe Pena 6a504c6f6b - Fix missing change from r303357 (related to bug #48831) 2011-06-11 23:46:35 +00:00
Timm Friebe 55aab4e6de - MFH Bugfix for bug #53540 2011-06-11 18:55:15 +00:00
Felipe Pena 9b1ba00a1e - Missing fix for bug #54347 2011-06-11 15:11:49 +00:00
Pierre Joye c92904d160 - missing entry for curl.cainfo 2011-06-11 13:23:29 +00:00
Felipe Pena a76f790b58 - Possible fix for bug #55022 (memory_limit exhausted when set charset in sybase_connect) 2011-06-11 01:15:14 +00:00
Christopher Jones 17af8b0179 Fix TSRMLS for Windows build 2011-06-11 00:24:26 +00:00
Felipe Pena c776180f6e - Drop C++ style comments 2011-06-10 23:14:15 +00:00
Felipe Pena 0e37aa144f - Fixed bug #55028 (// is abad comment) 2011-06-10 22:48:36 +00:00
Christopher Jones c7a8bd6a4c Add new OCI8 tests. Refactor skipifs. Sync 5.3/5.4/trunk branches 2011-06-10 19:16:35 +00:00
Christopher Jones f4009b52a3 Add oci_client_version() returning the runtime Oracle client library version - predominantly useful for the test suite 2011-06-10 17:38:07 +00:00
Christopher Jones bc0d535f5a Missed trivial comment sync with PHP_5_4 and trunk 2011-06-10 17:16:00 +00:00
Felipe Pena 60857e013b - Fixed bug #54347 (reflection_extension does not lowercase module function name)
patch by: laruence at yahoo dot com dot cn
2011-06-09 22:45:35 +00:00
Shein Alexey ae2e75a657 Fixed test. 2011-06-09 13:09:25 +00:00
Shein Alexey 21fb2a42cc Changed session.save_path to /tmp to make test run. 2011-06-09 08:24:12 +00:00
Shein Alexey 3b37e152c3 Skip reason is now printed if session.save_path is not writable. 2011-06-09 08:18:49 +00:00
Shein Alexey 25adf56921 Fixed session test breakage due to serialize precision issue. 2011-06-09 07:44:10 +00:00
Ilia Alshanetsky cca899148a Fixed test 2011-06-08 23:30:02 +00:00
George Wang 0bcbaa1750 fix socket address parsing code 2011-06-08 16:51:59 +00:00
Ilia Alshanetsky 9277da7d9d Fixed test to account for smaller default floating point # precision 2011-06-08 02:03:14 +00:00
Gustavo André dos Santos Lopes cd7681d273 - Fixed bug #54992: Stream not closed and error not returned when SSL CN_match
fails.
2011-06-08 00:23:02 +00:00
Christopher Jones 031085e0a9 Sync OCI8 branches. Allow 'pecl install' to work on both PHP 5.3 & 5.4 2011-06-07 23:53:02 +00:00
Felipe Pena f75714650b - Fixed bug #55007 (compiler fail after previous fail) 2011-06-07 22:58:38 +00:00
Ilia Alshanetsky 14ed144318 Fixed test 008 2011-06-07 01:40:54 +00:00
Felipe Pena baf834a00a - BFN 2011-06-07 01:27:29 +00:00
Felipe Pena 68ff1463e7 - Restore fix for #39863 (do not accept paths with NULL in them)
# This was removed by regenerating the VM months ago
2011-06-06 02:34:38 +00:00
Ilia Alshanetsky d846d0e80a Fixed bug #51997 (SEEK_CUR with 0 value, returns a warning). 2011-06-05 21:57:01 +00:00
Hannes Magnusson 10da251565 Fixed bug#51819 (Case discrepancy in timezone names cause Uncaught exception and fatal error) 2011-06-05 13:30:01 +00:00
Philip Olson f472141549 Updated the note maintainers credits 2011-06-05 06:57:13 +00:00
Felipe Pena 0afd4bd18b - Possible fix for bug #54609 (Certain implementation(s) of SplFixedArray cause hard crash) 2011-06-05 01:38:12 +00:00
Felipe Pena 087a134b50 - Fixed bug #54929 (Parse error with single quote in sql comment) 2011-06-04 22:54:40 +00:00
Ilia Alshanetsky 00a6dd29b7 Show ICU Data version inside phpinfo() 2011-06-03 18:14:36 +00:00
Hannes Magnusson 14e7d404d9 Fix tests
#Note to self; do not rename tests just before committing
2011-06-03 17:38:37 +00:00
Hannes Magnusson a62829c09e Add tests for broken function arguments 2011-06-03 17:12:59 +00:00
Gustavo André dos Santos Lopes 479a47d8af Merge of fix for bug #54918 (r311745, scottmac) to 5.3. 2011-06-03 09:39:45 +00:00
Gustavo André dos Santos Lopes 7af15a41d9 - Fixed double registering of browscap ini directive. See bug #54896. 2011-06-02 08:46:40 +00:00
Felipe Pena 47315dfdf6 - Fixed bug #54970 (SplFixedArray::setSize() isn't resizing) 2011-06-02 00:40:27 +00:00
Ilia Alshanetsky f7cdabd118 More tests 2011-06-01 16:59:23 +00:00
Ilia Alshanetsky e6c9a31c54 Implemented FR #54561 (Expose ICU Version & ICU Data Version info). 2011-06-01 16:26:21 +00:00
Ilia Alshanetsky 83d01bd81b Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE settings). 2011-06-01 13:23:25 +00:00
Ilia Alshanetsky f4f2aa7583 Fixed bug #54484 (Empty string in json_decode doesn't reset json_last_error()). 2011-06-01 09:44:38 +00:00
George Wang cb7f656de7 fix CLI mode timeout 2011-05-31 22:40:42 +00:00
Rafael Machado Dohms b903587268 Adding testcases to validate imageloadfont input parameter validation, tests were developed at #tek11 testfest 2011-05-31 21:24:10 +00:00
Andrey Hristov b97e76d512 reuse code 2011-05-31 20:42:44 +00:00
Shein Alexey e69b73e0b8 Fixed notice breaking the test. 2011-05-31 12:57:40 +00:00
Andrey Hristov e2ac61225f fix macros 2011-05-31 10:35:07 +00:00
Dmitry Stogov c989a36927 Fixed bug #54910 (Crash when calling call_user_func with unknown function name) 2011-05-31 09:20:51 +00:00
Ilia Alshanetsky 3d7a201eb4 Removed test for functionality available in 5.4+ 2011-05-31 09:01:44 +00:00
Ilia Alshanetsky e91cecb1d3 Removed unnecessary rinit/rshutdown 2011-05-31 08:59:32 +00:00
Philip Olson b7eefa0af7 Updated qa-release.php notes as per the new qa-release.php syntax 2011-05-30 23:26:33 +00:00
Ilia Alshanetsky a65eba016e Fixed bug #52496 (Zero exit code on option parsing failure). 2011-05-30 15:57:50 +00:00
Hannes Magnusson 3b030ec75f Fixed bug #54946 (stream_get_contents infinite loop) 2011-05-29 12:29:19 +00:00
Hannes Magnusson 07bcf1080d Fixed bug #54601 (Removing the doctype node segfaults) 2011-05-29 11:39:49 +00:00
Ilia Alshanetsky 69a12bfb3f Fixed bug #53848 (fgetcsv() ignores spaces at beginnings of fields). 2011-05-29 10:23:06 +00:00
Ilia Alshanetsky ef74038d1d Fixed bug #54137 (file_get_contents POST request sends additional line break). 2011-05-29 09:23:08 +00:00
Felipe Pena 6ff2f7040e - BFN 2011-05-27 23:32:48 +00:00
Felipe Pena 490b75d170 - Fixed bug #54934 (Unresolved symbol strtoull in HP-UX 11.11) 2011-05-27 23:31:30 +00:00
Ilia Alshanetsky 8267eaf1bf Fixed bug #54924 (assert.* is not being reset upon request shutdown). 2011-05-26 18:17:43 +00:00
Pierre Joye 885357a711 -fix bug 54935, php_win_err can lead to crash 2011-05-26 14:37:13 +00:00
Philip Olson 983cedfd94 Fixed test, as per r311323 2011-05-25 00:02:05 +00:00
Felipe Pena 4bf9334a82 - Fixed bug #50363 (Invalid parsing in convert.quoted-printable-decode filter)
Patch by: slusarz at curecanti dot org
2011-05-24 23:49:26 +00:00
Philip Olson 35c42425fa Fixed test 2011-05-24 23:49:04 +00:00
Philip Olson e2caad5f96 Updated test. touch() emits E_WARNING for bogus values. Updated 5.3 test to look the same. 2011-05-24 23:27:49 +00:00
Felipe Pena 6814cbec4b - Fix logic, it must check for both flags (as says the comment in the code) (bug #54912) 2011-05-24 22:34:07 +00:00
Felipe Pena bed49c931d - Fixed bug #54912 (filter/logical_filters.c:685:32: warning: use of logical || with constant op)
Initial patch by: crrodriguez at opensuse dot org
2011-05-24 22:24:06 +00:00
Pierre Joye e38369c532 - Fix #54721, different Hashes on Windows, BSD and Linux on wrong Salt size 2011-05-24 13:48:04 +00:00
Felipe Pena 5cf61f4d8b - Add CVE to bug entry 2011-05-24 12:23:51 +00:00
Pierre Joye 86eae702f2 - fix tests, keep EOL as unix style as the str len is used in expectf 2011-05-24 10:23:13 +00:00
Pierre Joye 0d8e83532a - make svn-eol LF and use one test for unix and windows 2011-05-24 09:44:55 +00:00
Felipe Pena ee920e12ec - Fix the fix
# Arghh, copy and paste error :(
2011-05-24 00:10:00 +00:00
Felipe Pena e9f4cfd6af - Fixed stack buffer overflow in socket_connect().
Found by: Mateusz Kocielski, Marek Kroemeke and Filip Palian
2011-05-24 00:05:50 +00:00
Felipe Pena 00169ec00f - Fixed bug #54529 (SAPI crashes on apache_config.c:197)
patch by: hebergement at riastudio dot fr
2011-05-23 01:47:06 +00:00
Felipe Pena 508f926604 - Fixed bug #54269 (Short exception message buffer causes crash) 2011-05-22 19:06:21 +00:00
Rasmus Lerdorf ba8ce4a6d4 Increase the overly conservative pcre backtrack limit from 100000 to 1000000 2011-05-21 19:48:37 +00:00
Felipe Pena f7e6e6cedf - Fixed bug #54895 (Fix compiling with older gcc version without need for membar_producer macro)
patch by: mhei at heimpold dot de
2011-05-20 21:24:51 +00:00
Felipe Pena 6f3c7a8b70 - Fixed bug #54804 (__halt_compiler and imported namespaces) (Pierrick) 2011-05-19 23:20:47 +00:00
Rasmus Lerdorf 00842d6996 Fix CS 2011-05-19 23:18:55 +00:00
Rasmus Lerdorf e40c470c9d Fix bug 54866 2011-05-19 23:09:58 +00:00
Pierre Joye 221a07b669 - initial import, will add all libs later 2011-05-19 13:36:29 +00:00
Scott MacVicar 8e314ae7fc Revert part of the fix for #53339
On OSX we need ssl AND crypto

The patch that was applied didn't even match what was in the bug
2011-05-19 05:43:48 +00:00
Rasmus Lerdorf edcc7dce4e Fix typo 2011-05-18 19:55:34 +00:00
Rasmus Lerdorf 8f71a6f673 Fix autoconf version check script to make sure people are
not using 2.60 or higher here. It might actually work up to
2.62 or 2.64. If someone could verify that these versions
still work I can massage this further.
2011-05-18 17:27:41 +00:00
Johannes Schlüter 9aa379c724 - handle out of memory 2011-05-18 11:49:49 +00:00
Dmitry Stogov 2ee837aa5e Fixed crash on recursive error handler invocation 2011-05-17 12:27:21 +00:00
Andrey Hristov a417820be3 exchange a "trap" with an error 2011-05-17 09:44:11 +00:00
Johannes Schlüter 1eb7704974 - Move the field access behind the check
# Only called from one place where the connection is checked, but
# playing safe, again (parfait)
2011-05-17 00:16:57 +00:00
Ferenc Kovacs 2ea7c05d75 adding an XFAIL, as we have an open bug for this test 2011-05-16 23:43:12 +00:00
Ferenc Kovacs 85de397a23 adding an XFAIL, as we have an open bug for this test 2011-05-16 23:39:16 +00:00
Ferenc Kovacs 66d5eb12a9 set the timezone to UTC as suggested by Alexey Shein, and adding an SKIPIF as this test was originaly intended to be windows only 2011-05-16 23:35:23 +00:00
Ferenc Kovacs f551ed4189 fix the test with the removal of the unnecessary newline 2011-05-16 23:33:05 +00:00
Ferenc Kovacs 23cab07e4f adding the serialize_precision=100 for the tests, credits to Mats Lindh for reporting it 2011-05-16 23:31:14 +00:00
Ferenc Kovacs 36fde4043b removing XFAIL as #39863 has already been fixed 2011-05-16 23:28:46 +00:00
Ferenc Kovacs a944f7a663 reverting 311103,311105-311109, will commit them to all three branches 2011-05-16 23:22:17 +00:00
Johannes Schlüter c61d125986 - Handle error if tempfile can't be opened, found by parfait 2011-05-16 22:24:41 +00:00
Johannes Schlüter 38c1181cfa - Fix a few more memleaks found by parfait 2011-05-16 21:29:45 +00:00
Ferenc Kovacs 2957b7cbb6 adding an XFAIL, as we have an open bug for this test 2011-05-16 20:11:00 +00:00
Ferenc Kovacs e9efaea7c4 adding an XFAIL, as we have an open bug for this test 2011-05-16 20:10:04 +00:00
Ferenc Kovacs 2f5dc540e0 fix the test via setting the timezone to UTC as suggested by Alexey Shein, and adding an SKIPIF as this test was originaly intended for windows only, maybe we could drop this, as we don't support VC6 anymore 2011-05-16 20:07:55 +00:00
Ferenc Kovacs 76425aaca1 fix the test with the removal of the unnecessary newline 2011-05-16 19:51:39 +00:00
Ferenc Kovacs c4e6beebb3 adding the serialize_precision=100 for the tests, credits to Mats Lindh for reporting it 2011-05-16 19:49:59 +00:00
Johannes Schlüter 9ea582a76c - Fix possible memory leak
# Found by parfait - http://labs.oracle.com/projects/parfait/
2011-05-16 19:46:32 +00:00
Ferenc Kovacs df2ca16fa8 removing XFAIL as #39863 has already been fixed 2011-05-16 19:40:12 +00:00
Johannes Schlüter 3e17b49008 - Fix Bug #53782 (foreach throws irrelevant exception) 2011-05-16 15:37:39 +00:00
Johannes Schlüter 9e5bc2c138 - Move the access behind the check.
# I can't find an unsafe call, but let's play safe
2011-05-16 10:15:28 +00:00
Rasmus Lerdorf d257aa42ff Oops, can't cache it here because it won't work
in autoconf2.13 and we still support that version
in this branch
2011-05-15 05:49:34 +00:00
Rasmus Lerdorf 78a15091f9 Cache the pdo include path 2011-05-15 05:03:29 +00:00
Rasmus Lerdorf 24be7e2106 We can't really predict what will happen on an unknown host lookup
since bogus ISPs like Comcast and many others try to "help" by resolving
everything to their own search page.
2011-05-15 01:52:07 +00:00
Martin Jansen 2ce1fd71ea Fixed two failing tests that were caused by arbitrarily chosen
but apparently bogus upper resp. lower limits for mt_rand().
2011-05-14 20:29:46 +00:00
Rasmus Lerdorf 4ab19212e5 en_US locale preferred output has AM/PM and also the timezone 2011-05-14 17:51:38 +00:00
Rasmus Lerdorf d91d06af30 Fix the require in these tests 2011-05-14 17:34:18 +00:00
Rasmus Lerdorf 6613fefb80 Make sure 'E' is included in the variables_order, otherwise
this test won't work.
2011-05-13 21:54:25 +00:00
Scott MacVicar 74b8f72017 Fix Windows build, this really should be in a patch file / README.
I'll fix this up later.
2011-05-13 13:51:07 +00:00
Scott MacVicar 27fc1b889a Update bundled PCRE to 8.12 2011-05-13 07:00:45 +00:00
Scott MacVicar 66ce68e7a4 Update bundled SQLite to 3.7.6.2 2011-05-13 06:11:06 +00:00
Scott MacVicar df0ce635e4 Fix use after free() in XMLReader::xml() 2011-05-13 05:54:34 +00:00
Scott MacVicar a0857d56ac Fixed bug #54723 - getimagesize() doesn't check the full ico signature and misreports mpg files 2011-05-13 05:06:48 +00:00
Rasmus Lerdorf 2954832b97 Check headers first and let the CHECK_LIBRARY macro
handle checking for the library. This makes it 
correctly handle non-standard system paths as long
as gcc knows about them. Should fix the build on
Ubuntu natty.
2011-05-12 08:19:37 +00:00
Philip Olson c2a245f582 Added missing date_default_timezone_set('UTC'); to the appropriate tests. A few now pass by not showing the timezone warning. 2011-05-12 06:51:46 +00:00
Dmitry Stogov 5dcdf5c467 Fixed bug #54367 (Use of closure causes problem in ArrayAccess) 2011-05-11 06:58:33 +00:00
Scott MacVicar cab76530e7 Turns out that more than 1% of users clocks are more than a year out of date, this causes cookies to never get deleted since the date is in the future.
I can only guess its due to batteries on the motherboard being dead.
2011-05-10 19:09:24 +00:00
Adam Harvey a7dbf5a29e Fix bug #54692 (SQLite3::open() Return Value) by correcting the SQLite3::open()
prototype.
2011-05-10 08:14:55 +00:00
Andrey Hristov 229bdc7ccb Fix range
(thanks again nihen)
2011-05-10 07:15:22 +00:00
Andrey Hristov 20f4ea9de8 here comes the news 2011-05-09 16:22:54 +00:00
Andrey Hristov 6242101f2b Fix for bug 54674..typo in the check of SJIS 2011-05-09 16:20:35 +00:00
Johannes Schlüter 4a8eeb7afb - Fix bug #54644 (wrong pathes in php_pdo_mysql_int.h) 2011-05-09 11:34:17 +00:00
Gustavo André dos Santos Lopes 8f77168384 - Merged to 5.3 change in trunk in _php_stream_free. This prevents the segfault
in the testcase for bug #53624. The testcase still has to be fixed though,
  because it only works as intended on Windows.
2011-05-08 19:59:42 +00:00
Felipe Pena cde80bd812 - BFN #54681 2011-05-07 01:59:12 +00:00
Felipe Pena c11e307ae0 - Fixed bug #54681 (addGlob() crashes on invalid flags) 2011-05-07 01:58:26 +00:00
Andrey Hristov 9bf9b88f20 add the BLOCK_LEAVE macro for non-gcc and non-win 2011-05-04 19:09:12 +00:00
Andrey Hristov 3e46e95ac1 reorganize the DBG_ macros, add DBG_BLOCK_XXX 2011-05-04 19:05:19 +00:00
Antony Dovgal 8f8a54ab37 fix tests 2011-05-04 08:44:14 +00:00
Antony Dovgal 176c6fe901 fix test 2011-05-04 08:28:31 +00:00
Dmitry Stogov 0bce4957e5 Fixed crash when passing invalid timestamp (negative integer on win32) 2011-05-04 07:53:22 +00:00
Antony Dovgal 278392a10b fix tests 2011-05-03 11:15:45 +00:00
Andrey Hristov 5bac59b7d1 extend the API in the backward compatible way 2011-05-03 09:37:53 +00:00
Antony Dovgal 93ce043480 fix segfault in ext/standard/tests/network/http-stream.phpt 2011-05-02 16:17:52 +00:00
Antony Dovgal f3cd7fdda4 fix ZTS build for 5_3, too 2011-05-01 19:46:27 +00:00
Gustavo André dos Santos Lopes a2e0e2564d - Fixed bug #54580 (get_browser() segmentation fault when the browscap ini
directive is set in activation time). This commit fixes this by adding a per
  request parsing of the browscap file that's when get_browser is called the
  first time and the directive is set on activation time.w
2011-05-01 18:37:20 +00:00
Gustavo André dos Santos Lopes 02302812e1 - Fixed accidental change. 2011-05-01 04:16:28 +00:00
Gustavo André dos Santos Lopes 6df67ace20 - Fixed bug #54623 (Segfault when when writing to a persistent socket after
closing a copy of the socket).
2011-05-01 03:57:01 +00:00
Derick Rethans 7a80c3a0ed - Updated to version 2011.7 (2011g) 2011-04-30 20:18:51 +00:00
Pierrick Charron 3841295b2a Added support for CURLOPT_MAX_RECV_SPEED_LARGE and CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815
# MFH. This addition was already committed to trunk and is backported as requested in #54622
2011-04-29 10:41:44 +00:00
Ilia Alshanetsky fc7ee596f6 #doc
Added 3rd parameter to filter_var_array() and filter_input_array() 
functions that allows disabling addition of empty elements
2011-04-28 12:32:47 +00:00
Rasmus Lerdorf 6c564a7802 Fix test by pointing this at a smaller file that is less likely to break the test 2011-04-27 21:27:00 +00:00
Rasmus Lerdorf a44515caf9 Fix broken test 2011-04-27 15:08:44 +00:00
Hannes Magnusson 3d347be242 Regenerate from the doc sources 2011-04-27 09:29:10 +00:00
Rasmus Lerdorf 8192ba2b60 Someone fixed these in trunk and didn't backport to PHP_5_3 2011-04-27 05:05:32 +00:00
Martin Jansen 1a4897c88e MFH: The project calls itself OpenSSL and not openSSL, so let's keep it
that way in our code as well.
2011-04-25 16:51:12 +00:00
Pierre Joye 2d0ab7c98b - keep node creation check 2011-04-25 09:31:00 +00:00
Pierre Joye cd4928c99a - keep inode creation check 2011-04-25 09:28:08 +00:00
Dmitry Stogov e510daf20b Fixed bug #54585 (track_errors causes segfault) 2011-04-25 07:50:07 +00:00
Rasmus Lerdorf be3d70df4e SSLV2 patch cleanup 2011-04-24 23:27:48 +00:00
Pierre Joye be24877c84 - fix use of unitiliazed var 2011-04-24 22:08:11 +00:00
Rasmus Lerdorf e575557612 Support for openssl without SSLv2 supprot compiled in. Distros are starting to
remove support now and this wasn't compiling anymore on my Debian dev box.
2011-04-24 20:47:22 +00:00
Hannes Magnusson 21f71027e3 2011 2011-04-23 21:14:10 +00:00
Hannes Magnusson e85c367bc7 its force-quit, not -exit (yawk) 2011-04-23 21:12:25 +00:00
Pierrick Charron 1153eaf505 Revert bug #54454 fix from PHP_5_3 branch to avoid BC break in minor release 2011-04-21 01:51:24 +00:00
Dmitry Stogov c157f4b4e6 Fixed bug #54367 (Use of closure causes problem in ArrayAccess). 2011-04-20 12:59:18 +00:00
Pierre Joye 1dd5690af2 - fix build >(btw, has novell man pages too?) 2011-04-19 21:43:22 +00:00
Hannes Magnusson 5ca8ba7ab6 Add an --man-dir to php-config too 2011-04-18 11:13:37 +00:00
Hannes Magnusson a0d805035c Expose PHP_MANDIR
Useful for apps (like the pear installer, phd, .. etc) to install their manpages into the same dir as php did :]
2011-04-18 09:50:32 +00:00
Stanislav Malyshev 339f46237d implement FR #54540 - Allow loading of arbitrary resource bundles when fallback is disabled 2011-04-17 21:56:26 +00:00
Rob Richards 1b6dd18082 Implement FR #48587 (MySQL PDO driver doesn't support SSL connections) 2011-04-15 14:24:40 +00:00
Dmitry Stogov 92e5b10c41 Fixed bug #54268 (Double free when destroy_zend_class fails) 2011-04-15 12:43:20 +00:00
Stanislav Malyshev 833ec62d7c add CVE 2011-04-13 17:33:00 +00:00
Felipe Pena 782c00d744 - Remove undesired line (reported by Gökhan Özbulak) 2011-04-13 13:38:52 +00:00
Stanislav Malyshev 2e206e0761 fix bug #54238 (use-after-free in substr_replace()) 2011-04-13 06:32:41 +00:00
Ilia Alshanetsky 0e80f26207 Fixed bug #54121 (error message format string typo). 2011-04-12 18:33:08 +00:00
Gustavo André dos Santos Lopes 047ed8dfbb - Fixed bug #54440: libxml extension ignores default context. 2011-04-09 18:32:55 +00:00
Gustavo André dos Santos Lopes f2cfb997de - Fixed bug #54494: mb_substr() mishandles UTF-32LE and UCS-2LE. 2011-04-09 16:59:36 +00:00
Dmitry Stogov def1ab1e60 - Fixed bug #54358 (Closure, use and reference)
- Fixed bug #54039 (use() of static variables in lambda functions can break staticness)
2011-04-08 10:02:07 +00:00
Dmitry Stogov 3e36ecd98f Missed tests 2011-04-07 14:34:07 +00:00
Dmitry Stogov 03b6daed4f Fixed bug #54372 (Crash accessing global object itself returned from its __get() handle) 2011-04-07 13:35:27 +00:00
Adam Harvey 840308cfd0 Implement FR #54459 (Range function accuracy) by changing the way range()
calculates values when used with floating point bounds/step.
2011-04-06 10:23:06 +00:00
Adam Harvey f9721d03f7 Fix duplicated test. 2011-04-06 10:16:14 +00:00
Gustavo André dos Santos Lopes cd2cdd256a - Make SplFileInfo::_bad_state_ex final. 2011-04-05 08:38:09 +00:00
Gustavo André dos Santos Lopes 2975308e1a - Fixed bug #54384 (Dual iterators, GlobIterator, SplFileObject and
SplTempFileObject crash when user-space classes don't call the paren
  constructor).
2011-04-04 02:50:27 +00:00
Pierrick Charron e8486cc374 Fix common typos in the source code (Reported in Bug #54065)
# External libraries were excluded
# Thanks eitan at eitanadler dot com for the first patch :)
2011-04-03 21:46:52 +00:00
Ilia Alshanetsky 47012ccd8f Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). 2011-04-03 16:30:31 +00:00
Pierrick Charron 4919f3286b Fixed bug #54454 (substr_compare incorrectly reports equality in some cases) 2011-04-03 07:18:27 +00:00
Felipe Pena 2c76af8538 - Improved message and version checking 2011-04-02 01:24:53 +00:00
Pierre Joye 689268a0ba - add CURLINFO_REDIRECT_URL 2011-04-01 17:19:08 +00:00
Derick Rethans 88c1755a14 - Updated to version 2011.5 (2011e) 2011-04-01 11:24:49 +00:00
Antony Dovgal dd5781bcdf fix bug #54423 (classes from dl()'ed extensions are not destroyed) 2011-03-31 11:59:34 +00:00
Christopher Jones ef777fc18e Refactor OCI8 config.m4: improve messages and merge similar conditionals 2011-03-29 21:37:45 +00:00
Felipe Pena 1dbfe6e310 - BFN 2011-03-29 18:44:52 +00:00
Felipe Pena 3c6104e180 - Fixed bug #44989 (64bit Oracle RPMs still not supported by pdo-oci)
patch by: jbnance at tresgeek dot net
2011-03-29 18:40:20 +00:00
Pierre Joye f335f27b7b - not applied yet 2011-03-28 16:45:57 +00:00
Pierre Joye 4551bd57f7 - Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent, windows fix 2011-03-28 16:43:49 +00:00
Pierre Joye 4ad6108b7d - re enable static analyzer, crash fixed with snapshot builds 2011-03-28 10:55:34 +00:00
Nuno Lopes 9aec0c6806 fix last commit:
- fix code coverage build
 - spread static love
2011-03-28 09:10:23 +00:00
Felipe Pena 4929964a5d - Fixed bug #54395 (Phar::mount() crashes when calling with wrong parameters) 2011-03-26 17:02:34 +00:00
Andrey Hristov 018013e579 here comes the news 2011-03-24 16:19:01 +00:00
Andrey Hristov 8b33e6fae0 fix buffer overflow - overwriting with 0x0, due to
unchecked buffer size. This can be easily workarouned on 
existing unpatched systems by increasing
mysqlnd.net_cmd_buffer_size ini variable to more than 8k
2011-03-24 16:12:18 +00:00
Ulf Wendel a270348c24 Limit test with 65k params, should crash mysqlnd 2011-03-24 13:40:06 +00:00
Ilia Alshanetsky f2ce3e0201 Fixed a crash inside dtor for error handling. 2011-03-24 12:57:38 +00:00
Felipe Pena 0ab7f1cebf - Fixed bug #54292 (Wrong parameter causes crash in SplFileObject::__construct()) 2011-03-23 22:46:04 +00:00
Christopher Jones 8ca08487b7 Fixed bug #54084 (Fix apxs Apache version test to work with Oracle HTTP Server) (Chris Jones) 2011-03-23 18:56:47 +00:00
Andrey Hristov 3c364cbe52 Fix compressed build, make it easier 2011-03-23 17:14:28 +00:00
Adam Harvey 13a91f86b7 Implement request #54355 (Test for de_DE doesn't use UTF-8 locales). Patch by
Ondřej Surý.
2011-03-23 08:59:11 +00:00
Ulf Wendel 8307f9e892 Coverage for a 'silent server protocol change' from the past for which both mysqlnd and libmysql have workarounds. 2011-03-23 08:57:52 +00:00
Felipe Pena 5b85234b37 - Fixed bug #54283 (new DatePeriod(NULL) causes crash) 2011-03-23 01:22:18 +00:00
Gustavo André dos Santos Lopes 660aa6701d - Updating UPGRADING for r309516 and modest merge to 5.3. 2011-03-23 00:51:22 +00:00
Felipe Pena 0dd448cbf1 - Fixed bug #54281 (Crash in non-initialized RecursiveIteratorIterator) 2011-03-22 22:41:16 +00:00
Andrey Hristov 5572becc81 palloc is long dead, use more appropriate name 2011-03-22 14:39:58 +00:00
Andrey Hristov 3595f09c28 Fix message 2011-03-22 14:39:36 +00:00
Andrey Hristov 081b001ca1 remove more unneeded includes 2011-03-22 12:54:02 +00:00
Andrey Hristov 9484248c0a remove unneeded includes 2011-03-22 12:22:16 +00:00
Adam Harvey c5c87c5f37 Fix bug #54318 (Non-portable grep option used in PDO pgsql configuration).
Patch by Ben Walton <bwalton at artsci dot utoronto dot ca>.
2011-03-22 09:12:01 +00:00
Adam Harvey 334d2df892 Fix bug #54340 (DateTime::add() method bug). 2011-03-22 08:33:22 +00:00
Adam Harvey 68811c473d Fix bug #54316 (DateTime::createFromFormat does not handle trailing '|'
correctly).
2011-03-21 09:40:52 +00:00
Gustavo André dos Santos Lopes 95a3bfb1bc - Fixed SKIPIF section of bug51958.phpt. 2011-03-20 22:12:11 +00:00
Gustavo André dos Santos Lopes f06e3ba5c1 - Fixed bug #54291 (Crash iterating DirectoryIterator for dir name starting
with \0).
2011-03-19 23:15:04 +00:00
Felipe Pena 8a48311a60 - BFN 2011-03-19 17:47:54 +00:00
Felipe Pena ab7992fab2 - Fixed bug #54312 (soap_version logic bug)
Patch by: tom at samplonius dot org
2011-03-19 17:36:01 +00:00
Raphael Geissert 5b55a18622 Add the libraries we actually test and need for LDAP and OpenSSL, fixes bug #53339
Patch by Clint Byrum
2011-03-18 18:47:09 +00:00
Pierrick Charron 5a53a74304 Fixed bug #54180 (parse_url() incorrectly parses path when ? in fragment) 2011-03-17 18:02:58 +00:00
Gustavo André dos Santos Lopes be87834321 - Merged fix for bug #51958 socket_accept() fails on IPv6 server sockets.
See r309238 for commit in trunk.
2011-03-17 15:36:52 +00:00
Ulf Wendel 8bbd451647 Test coverage for some of the cases where LAST_INSERT_ID() and API *_insert_id() differ as documented in the MySQL manual in particular the C API reference section 2011-03-17 15:18:22 +00:00
Felipe Pena d37dea8b7b - BFN 2011-03-17 12:03:09 +00:00
Felipe Pena 1e86e8e12c - Fixed bug #54167 (PDO_DBLIB returns null on SQLUNIQUE field)
patch by: mjh at hodginsmedia dot com
2011-03-17 11:59:54 +00:00
Johannes Schlüter 07aa25b442 - Fixed bug #54265 (crash when variable gets reassigned in error handler)
(re-apply 309308, dmitry)
2011-03-17 11:49:18 +00:00
Felipe Pena 2b8d0edb45 - Fix infile return on duplicated key (related to bug #54242) 2011-03-17 11:43:05 +00:00
Andrey Hristov 5fb54640c9 here comes the news 2011-03-17 10:31:28 +00:00
Andrey Hristov 56cdee2def Fix for bug #54221 mysqli::get_warnings segfault when used in multi queries 2011-03-17 10:28:53 +00:00
Johannes Schlüter 27e640fdea - Back to dev 2011-03-17 10:13:20 +00:00
Johannes Schlüter f5687db392 PHP 5.3.6 2011-03-17 07:48:29 +00:00
Johannes Schlüter 6f15da050e - Revert r309308 temporarily to get 5.3.6 out 2011-03-17 07:46:57 +00:00
Pierre Joye 6e35b40b4c - news entry for the setlocale fix 2011-03-16 23:57:04 +00:00
Pierre Joye 0778bedbe1 - MFH: make setlocale thread only, drastically reduce TS related crashes in error mgt and other parts like pcre, and actually a good thing (tm) 2011-03-16 23:54:14 +00:00
Dmitry Stogov e90ac23f58 Fixed bug #54265 (crash when variable gets reassigned in error handler) 2011-03-16 15:21:38 +00:00
Dmitry Stogov b78ac8df82 Fixed bug #54262 (Crash when assigning value to a dimension in a non-array) 2011-03-16 11:14:33 +00:00
Felipe Pena d7b8f23e2b - BFN 2011-03-14 22:27:40 +00:00
Derick Rethans 50b56c2c0f - Updated to version 2011.4 (2011d) 2011-03-14 18:56:02 +00:00
Felipe Pena 6da18ca967 - Missing fixes for bug #54247 2011-03-14 14:12:42 +00:00
Felipe Pena 8d816ed0ef - Fixed bug #54247 (format-string vulnerability on Phar) 2011-03-14 13:54:41 +00:00
Pierrick Charron e68e2893c0 # Revert bug fix (will commit it again on 5.3 branch when 5.3.6 will be released) 2011-03-13 17:14:18 +00:00
Pierrick Charron ee832705d1 Fixed bug #54180 (parse_url() incorrectly parses path when ? in fragment) 2011-03-13 04:02:56 +00:00
Sebastian Bergmann 7e34334d84 Fix prototype of zend_fetch_debug_backtrace(). 2011-03-11 03:52:39 +00:00
Eyal Teutsch 94b3d60a4f fixed tests to match the new float precision of 53, as described in bug 47168 2011-03-10 13:25:19 +00:00
Scott MacVicar dd68a6239a Add a version number to timelib for other projects that use it.
This has the same version scheme as timezonedb.

<year><release-padded-to-two>
2011-03-09 20:06:52 +00:00
Jim Jagielski 39d814a205 Close [PHP-BUG] Req #54152...
Apache 2.3.12 (and later) will now work correctly with PHP's fcgi
impl with this patch.
2011-03-09 18:27:30 +00:00
Johannes Schlüter 5009770d65 - PHP 5.3.6RC3 2011-03-09 16:37:58 +00:00
Felipe Pena c7e7de3485 - Fixed bug #49608 (Using CachingIterator on DirectoryIterator instance segfaults) 2011-03-08 19:56:29 +00:00
Felipe Pena 2843030fa1 - Version++ 2011-03-08 18:24:04 +00:00
Felipe Pena e1a746faec - assign CVE 2011-03-08 14:07:25 +00:00
Felipe Pena 4653ef06f9 - Missing "reported by" info 2011-03-08 13:12:52 +00:00
Felipe Pena 06e475e537 - Fixed bug #54193 (Integer overflow in shmop_read()) 2011-03-08 13:11:14 +00:00
Derick Rethans c256372636 - Updated to version 2011.3 (2011c) 2011-03-07 14:55:28 +00:00
Felipe Pena 3986e515da - Reverted fix for bug #54167 (to be committed in soon) 2011-03-06 13:36:44 +00:00
Felipe Pena 2f3f629fd4 - Fixed bug #54167 (PDO_DBLIB returns null on SQLUNIQUE field)
# initial patch by: mjh at hodginsmedia dot com (5.3)
# trunk version by me
2011-03-05 23:07:45 +00:00
Johannes Schlüter bf5a3715f4 Back to -dev 2011-03-02 22:03:38 +00:00
Johannes Schlüter 0ec8364402 PHP 5.2.6RC2 2011-03-02 21:26:43 +00:00
Moriyoshi Koizumi a497999481 - Merge from trunk. 2011-03-02 18:35:10 +00:00
Felipe Pena 53b1c76efe - Fixed SplObjectStorage::offsetSet arginfo, reported in bug #54118 2011-03-01 00:13:23 +00:00
Ilia Alshanetsky 5d83ad8c44 Fixed bug #54089 (token_get_all() does not stop after __halt_compiler). 2011-02-28 15:18:27 +00:00
Gustavo André dos Santos Lopes f657ba978b - Fixed bug #54092 (Segmentation fault when using HTTP proxy with the FTP
wrapper).
#php_stream->wrapperdata should hold an array zval (like its zval* type
#indicates...), it's not a place where the wrapper can drop an arbitrary
#pointer. For that, .wrapperthis should be used.
#Also, since the ftp dir wrapper defines its own stream type, it's more
#appropriate to use .abstract to store the stream instance specific data.
2011-02-27 20:23:54 +00:00
Felipe Pena 1f991c8e42 - Possible fix for Bug #54108 (valgrind can not be found if located outside of system's default PATH) 2011-02-27 17:55:39 +00:00
Andrey Hristov a5348bed31 use ifdef all-around in the revert 2011-02-25 13:11:49 +00:00
Andrey Hristov 2eb5b0fe4e revert also the version_id 2011-02-25 12:52:46 +00:00
Andrey Hristov d4a1f5ac06 revert to previous behavior 2011-02-25 12:52:21 +00:00
Andrey Hristov 113cd9dc0f move from macros to functions, which can be overwritten, if needed 2011-02-25 12:25:36 +00:00
Nuno Lopes e79bf567e8 fix lcov build 2011-02-25 09:32:17 +00:00
Felipe Pena a82a9e8f74 - Fixed possible off-by-one overflow in ibase_gen_id() 2011-02-24 02:42:38 +00:00
Ilia Alshanetsky f15452af96 Fixed compiler warning 2011-02-22 15:48:25 +00:00
Johannes Schlüter 0448336c2c - Fix tests. temp dir might be something other than /tmp 2011-02-22 14:49:32 +00:00
Andrey Hristov 7a1f54ff42 fix invalid memory read. Thank you, valgrind 2011-02-21 16:24:37 +00:00
Pierre Joye 00b10c6aa3 - fix bug #54061, memory leak in openssl_decrypt 2011-02-21 12:50:26 +00:00
Pierre Joye 69ba87b183 - fix bug #54061, memory leak in openssl_decrypt 2011-02-21 12:47:38 +00:00
Pierre Joye 7deec592fd - fix test 025 2011-02-21 10:09:50 +00:00
Pierre Joye 5261861d77 - fix bug #54060, memory leak in openssl_encrypt 2011-02-21 10:07:31 +00:00
Scott MacVicar 3242016f28 Fix Bug #54058, invalid utf-8 doesn't set json_encode() in all cases 2011-02-21 08:09:02 +00:00
Gustavo André dos Santos Lopes 1b2d14c5e1 - Fixed bug #54055 (buffer overrun with high values for precision ini
setting).
#This fix (for g/G/k/H modes) is done at a different level than that for the
#modes e/E/f/F, at a bit higher level and therefore with less coverage. I
#chose this because it addresses the problem where it is -- the calling function
#that passes a buffer too small to php_gcvt.
2011-02-21 06:53:24 +00:00
Felipe Pena 54a7e5d7c3 - Fixed memory leak in DirectoryIterator::getExtension() and SplFileInfo::getExtension() 2011-02-20 16:33:53 +00:00
Felipe Pena 5b442c82f0 - Fixed bug #54040 (Logical && where & probably needed in spl_iterators) 2011-02-20 16:09:50 +00:00
Pierre Joye e78a5127c8 - bug #54002 entry 2011-02-18 17:22:27 +00:00
Felipe Pena 5bef6665f9 - Fixed bug #43512 (same parameter name can be used multiple times in method/function definition) 2011-02-17 23:24:50 +00:00
Johannes Schlüter 18127da570 Back to -dev 2011-02-16 20:41:24 +00:00
Johannes Schlüter 4dc641e3f5 Remove dash 2011-02-16 20:21:45 +00:00
Johannes Schlüter 02d03711ec PHP 5.3.6RC1 2011-02-16 20:20:33 +00:00
Johannes Schlüter 88448a263c - WS 2011-02-16 20:12:08 +00:00
Andrey Hristov 1bdc780d30 fixed a problem in mysqlnd. 0 was always as num_rows returned for
unbuffered sets (text protocol and PS).
2011-02-16 16:36:33 +00:00
Derick Rethans d41c8bd74a - Updated to version 2011.2 (2011b) 2011-02-15 16:26:42 +00:00
Pierre Joye a8806be989 - fix the fix (Dmitry) and ensure that it builds everywhere, can someone test on solaris&co pls? 2011-02-15 14:02:26 +00:00
Pierre Joye 64f45d8fe8 - unused var 2011-02-15 09:07:34 +00:00
Pierre Joye 5a3c4892af - fix build with ICU < 4.2, add ICU_VERSION for m4 checks 2011-02-15 08:28:22 +00:00
Hannes Magnusson 594aaf1b1b bfn for #54016 2011-02-14 15:34:04 +00:00
Hannes Magnusson 7c1a9e37ca Bug#54016 (finfo_file() Cannot determine filetype in archives) 2011-02-14 15:32:02 +00:00
Ilia Alshanetsky 011143d1bf Fixed variable re-declarations 2011-02-14 14:05:46 +00:00
Dmitry Stogov 9b4ada5c0e Fixed Bug #53958 (Closures can't 'use' shared variables by value and by reference) 2011-02-14 10:52:16 +00:00
Pierre Joye 8a485c7c91 -Bug #54002, fix windows build, use the relevant values in the warnings 2011-02-14 09:40:10 +00:00
Pierre Joye 0f842f667a - fix bug #54002, exif_read_data crashes on crafted tags 2011-02-14 09:08:44 +00:00
Dmitry Stogov ac057c610c Fixed Bug #53971 (isset() and empty() produce apparently spurious runtime error) 2011-02-14 08:46:53 +00:00
Pierre Joye f87e92860a - add CVE 2011-02-12 20:25:48 +00:00
Peter Cowburn 82dd0b9db0 Oopsie, fix typo in UPGRADING 2011-02-11 22:31:52 +00:00
Peter Cowburn 14c6cc5b7f MFH - Added SplFileInfo::getExtension() (FR #48767) 2011-02-11 22:07:22 +00:00
Felipe Pena ed2cdf31d3 - Fixed bug #53991 (SimpleXMLElement::__construct shows no params via ReflectionMethod) 2011-02-11 21:10:48 +00:00
Christopher Jones 588ec26d2f Show XFAIL reasons (Daniel Convissor) 2011-02-11 01:37:06 +00:00
Christopher Jones ff5dffdabb rm trailing whitespace 2011-02-11 01:34:03 +00:00
Daniel Convissor 0814b80006 Add DateInterval format() tests. 2011-02-11 01:33:45 +00:00
Daniel Convissor 7ea26a58bc Add extensive tests for DateTime::diff(), add() and sub(). 2011-02-10 22:57:41 +00:00
Scott MacVicar 9b567fea6a Fix Bug #53963, error code isn't always set in certain error cases. 2011-02-09 08:05:00 +00:00
Gustavo André dos Santos Lopes 5fad615ff5 - Changed php.ini files to match the hard-coded default for serialize_precision. 2011-02-09 00:25:44 +00:00
Gustavo André dos Santos Lopes 6dfee4f877 - Changed default serialize_precision from 100 to 17, as discussed in internals. 2011-02-08 21:40:51 +00:00
Gustavo André dos Santos Lopes 6fba6737d5 - Fixed bug #53959 (reflection data for fgetcsv out-of-date). 2011-02-08 16:29:34 +00:00
Antony Dovgal 2cfc526bcb fix compile warning 2011-02-08 08:40:39 +00:00
Pierre Joye 5b521b71a2 - Fixed bug #53893 (Wrong return value for ZipArchive::extractTo()) 2011-02-07 16:20:16 +00:00
Pierre Joye 44b9942ef3 - null deref fix 2011-02-07 10:25:34 +00:00
Pierre Joye 555e42fb5a - disable realloc warning about not checking its return value, 100% valid but way too many of them for now, reduce noises 2011-02-07 10:17:14 +00:00
Ilia Alshanetsky 145c4cbc56 Fixed parse_url() tests to account for port validation 2011-02-06 17:23:57 +00:00
Gustavo André dos Santos Lopes a888ee434b - Changed port validation introduced in commit #308035 to consider
negative ports and ports > 65535 as invalid.
  The tests that fail due to #308035 in the standard ext were not
  fixed. If the behavior in those tests turns out to be the
  desirable one, both this commit and #308035 ought to be reverted
  or at least adapted.
2011-02-05 22:37:00 +00:00
Ilia Alshanetsky 218448bfa0 Fixed bug #53924 (FILTER_VALIDATE_URL doesn't validate port number). 2011-02-04 21:41:15 +00:00
Adam Harvey 07fb5ca429 Change the way HAVE_GLOB is dealt with in ext/zip per IRC conversation with
Pierre.
2011-02-04 11:51:29 +00:00
Adam Harvey ee36a3d313 Update 5.3.6 NEWS to use a consistent bug ordering. I've gone with Pierre's
order on Internals for now (new features, then non-bug tracker fixes, then bugs
in descending order of bug number) -- feel free to bikeshed this on Internals
or IRC, but we need to pick _something_, because it's all over the place at
present. (And yes, I'm partly to blame for that too.)
2011-02-04 10:55:34 +00:00
Adam Harvey 4bf6559ed0 Fix bug #53923 (Zip functions assume HAVE_GLOB is defined). 2011-02-04 10:50:42 +00:00
Adam Harvey a7d4b80ca2 Fix bug #53914 (SPL assumes HAVE_GLOB is defined). Original patch by Chris
Jones; test updates by myself.
2011-02-04 10:49:49 +00:00
Adam Harvey 521e5462ab Fix bug #53913 (Streams functions assume HAVE_GLOB is defined). Patch by Chris
Jones.
2011-02-04 10:47:41 +00:00
Ilia Alshanetsky 34a9ff9e49 Fixed compiler warnings caused by var re-declaration 2011-02-03 13:33:10 +00:00
Gustavo André dos Santos Lopes e15dd93e7e - Simpler fix for bug #53915. 2011-02-03 12:45:30 +00:00
Gustavo André dos Santos Lopes fac1e87171 - Fixed bug #53915: ReflectionClass::getConstant(s) emits fatal error on
constants with self::.
- Reflown some NEWS entries to have lines no longer than 80 chars.
2011-02-03 12:38:25 +00:00
Gustavo André dos Santos Lopes 36d82e8a85 - Fixed bug #53903 (userspace stream stat callback does not separate the
elements of the returned array before converting them).
2011-02-01 22:55:17 +00:00
Andrey Hristov c9e94fe753 Fix more warnings about size_t 2011-02-01 19:30:22 +00:00
Gustavo André dos Santos Lopes da0e2a416f - Fixed several comparisons that always result in true of false
due to signedness of one of the operands, either by removing
  dead code or fixing it.
- Thrown some comments around in php_stream_get_record.
- See http://www.mail-archive.com/internals@lists.php.net/msg49525.html
2011-02-01 18:10:35 +00:00
Andrey Hristov 6157793026 fix warnings. These checks are not needed because
param_no is unsigned, it wasn't in the beginning.
2011-02-01 16:55:20 +00:00
Gustavo André dos Santos Lopes 5ca051bf38 - Fixed bug #49072 (feof never returns true for damaged file in zip). 2011-02-01 14:44:29 +00:00
Ilia Alshanetsky baf5d66614 Fixed bug #53898 (PHAR reports invalid error message, when the directory does not exist). 2011-02-01 14:01:00 +00:00
Pierre Joye 973ca132a4 - WS 2011-02-01 10:57:51 +00:00
Derick Rethans e08473da6c - Don't lower case setting names; some of them actually have upper case
characters.
2011-01-31 23:11:42 +00:00
Andrey Hristov 23437f011c Add two new enums constants from the server 2011-01-31 13:52:21 +00:00
Kalle Sommer Nielsen c924dedb73 Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL) 2011-01-31 12:47:28 +00:00
Boris Lytochkin bd810ef9bc Fixed bug #51336 2011-01-31 11:34:12 +00:00
Stanislav Malyshev 4a2b458835 fix bug 53885 (ZipArchive segfault with FL_UNCHANGED on empty archive) 2011-01-30 22:28:57 +00:00
Jérôme Loyet 6e57a7792e - remove cpystrn from FPM and use strlcpy instead. 2011-01-30 13:51:20 +00:00
Stanislav Malyshev 71f3d3793d Fix bug #52290 (setDate, setISODate, setTime works wrong when DateTime created from timestamp) 2011-01-30 10:18:12 +00:00
Stanislav Malyshev 7eca674e59 Fix bug #52808 (Segfault when specifying interval as two dates) 2011-01-30 08:54:53 +00:00
Jérôme Loyet 5bab8ea920 - Fixed bug #53434 (php-fpm slowlog now also logs the original request).
- Fixed the missing peace of code on revision 307842
2011-01-29 11:41:45 +00:00
Jérôme Loyet 977d79a724 - Fixed bug #53434 (php-fpm slowlog now also logs the original request). 2011-01-29 11:38:19 +00:00
Jérôme Loyet f386967b77 - Fixed bug #53777 (php-fpm log format now match php_error log format). 2011-01-29 10:13:24 +00:00
Felipe Pena b45066df97 - Fixed bug #53867 (Test failure)
patch by: rquadling at php.net
2011-01-28 20:41:54 +00:00
Ulf Wendel 0b474317fd Don't expect a certain server reply, it is undefined what happens. 2011-01-28 13:41:02 +00:00
Dmitry Stogov e9c6830e16 Added ability to connect to HTTPS sites through proxy with basic authentication using stream_context/http/header/Proxy-Authorization 2011-01-28 10:33:47 +00:00
Adam Harvey 4ac34cc84b Fix NEWS sorting. 2011-01-28 04:30:12 +00:00
Adam Harvey d56de24ce7 Fixed bug #53854 (Missing constants for compression type). Patch by Richard
Quadling.
2011-01-28 04:19:40 +00:00
Adam Harvey 0393cf77fc Fix NEWS typo. 2011-01-28 04:17:08 +00:00
Adam Harvey 7ac71b4f7f Fix zip test. 2011-01-28 03:55:34 +00:00
Pierre Joye 9d568bb4f5 - Fix bug #53166, missing parameters in reflections/docs 2011-01-27 11:47:24 +00:00
Pierre Joye 56316d25d4 - #53837 2011-01-26 18:38:44 +00:00
Derick Rethans ecbbe16a8b - Let's keep this consistent in the whole file. 2011-01-25 15:08:19 +00:00
Ulf Wendel cad4c34510 Handle deprecation messages differently in tests to reduce test differences between 5.3 and trunk: suppress warnings by default, check warnings in a dedicated test 2011-01-25 14:01:00 +00:00
Ilia Alshanetsky 8e57ad193b removed un-used variable 2011-01-24 20:58:09 +00:00
Derick Rethans 3050d45a95 - Updated to version 2011.1 (2011a) 2011-01-24 16:45:56 +00:00
Stanislav Malyshev 779e88e323 Add imap_fetchmime 2011-01-24 03:52:00 +00:00
Stanislav Malyshev 97fffa7826 fix tests 2011-01-24 02:48:15 +00:00
Stanislav Malyshev e9d18e09d9 Fixed bug #5273 (Can't use new properties in class extended from DateInterval) 2011-01-24 02:31:48 +00:00
Stanislav Malyshev 4756d7c2c8 Fixed Bug #52063 (DateTime constructor's second argument doesn't have a null default value) 2011-01-24 01:15:41 +00:00
Ilia Alshanetsky 266084e844 Fixed compiler warning 2011-01-23 16:44:58 +00:00
Pierre Joye 783285e62a - local redeclaration 2011-01-23 10:02:06 +00:00
Pierre Joye 0bbc886842 - kill local redeclaration by using a less common name 2011-01-23 09:46:06 +00:00
Ilia Alshanetsky f4c468481a Fixed variable overloading 2011-01-20 19:32:36 +00:00
Pierre Joye 131b658982 - this function is only in trunk 2011-01-20 13:57:40 +00:00
Pierre Joye af9406de8e - don't continue if no valid option value 2011-01-20 07:38:00 +00:00
Pierre Joye 0dcf2de5ac - be sure that we got tzid by adding a default case 2011-01-20 07:05:34 +00:00
Pierre Joye 54e9aa9110 - fail when no known op are given 2011-01-20 06:58:04 +00:00
Pierre Joye d83d01a32e - unused var 2011-01-20 06:55:11 +00:00
Pierre Joye a0708af925 - fail when no known op are given 2011-01-20 06:54:28 +00:00
Pierre Joye ed5594f135 - kill local redeclaration 2011-01-20 06:49:17 +00:00
Pierre Joye 17c1ba460d - init err (and simplify) 2011-01-20 06:45:52 +00:00
Pierre Joye 7f3100976f - no need of assert here 2011-01-20 06:32:59 +00:00
Pierre Joye 28d95f8e63 - check if strdup succeeds 2011-01-20 06:23:35 +00:00
Pierre Joye 0e61859b1f - force static, can't be built yet shared anyway 2011-01-19 21:19:45 +00:00
Andrey Hristov f1cb5e6253 fix zts build 2011-01-19 18:09:17 +00:00
Pierre Joye 230177d73c - WS 2011-01-19 17:17:52 +00:00
Pierre Joye 44e2fa1025 - avoid local redeclaration 2011-01-19 17:06:50 +00:00
Pierre Joye c278fb01d0 - malloc may fail 2011-01-19 15:23:07 +00:00
Pierre Joye 434f3654da - path len check and fix buffer overrun 2011-01-19 14:21:46 +00:00
Ilia Alshanetsky e0c1332537 Win32 build fix 2011-01-19 13:09:05 +00:00
Dmitry Stogov 068a78014f Added checks for malformated FastCGI requests (Edgar Frank) 2011-01-19 08:38:25 +00:00
Gustavo André dos Santos Lopes fdbc42611c - Hopefully finally fixed the mess in rev 307562 and rev 307563. 2011-01-19 00:22:06 +00:00
Pierre Joye 0a35d91854 - clarity 2011-01-18 23:31:53 +00:00
Pierre Joye 15bcc34994 - #53577 and cleanup 2011-01-18 22:22:28 +00:00
Pierre Joye e3c920ecf3 - fix regression introduced in 5.3.4 in open_basedir on windows/novell with trailing fwd slash 2011-01-18 22:20:09 +00:00
Gustavo André dos Santos Lopes 8cdcdb1b1e - Fixed wrong function call in original commit to FR #39771. 2011-01-18 19:56:09 +00:00
Gustavo André dos Santos Lopes d6ac882106 - Implemented FR #39771 (Made DOMDocument::saveHTML accept an optional
DOMNode like DOMDocument::saveXML).
2011-01-18 19:45:38 +00:00
Ilia Alshanetsky 2c657ee27e Fixed variable re-declaration 2011-01-18 13:17:23 +00:00
Pierre Joye b3efabda4c - fix the fix (wrong test) 2011-01-18 10:29:26 +00:00
Jérôme Loyet 326f50b1ea - Enforce security in the fastcgi protocol parsing. 2011-01-17 22:22:39 +00:00
Pierre Joye c8219466e4 - path len sanity check 2011-01-17 14:29:16 +00:00
Pierre Joye e3785f253e - don't try to access if calloc fails (quick review of its usage: seems that the stats member is validated in other places, to be confirmed) 2011-01-17 14:07:40 +00:00
Pierre Joye 5c23366d6b - fix NULL derefencing 2011-01-17 14:01:01 +00:00
Ilia Alshanetsky df5f8c91ce Fixed compiler warning 2011-01-17 13:44:54 +00:00
Ulf Wendel ad8892f91d Fix tests: don't expect people to use a certain db/schema for testing 2011-01-17 13:06:44 +00:00
Kalle Sommer Nielsen d244ac46a1 MFT: Added 'db' and 'catalog' keys to the field fetching functions (FR #39847) 2011-01-17 11:20:54 +00:00
Kalle Sommer Nielsen ba4fbb05ae Remove this void comment (c/p mistake) 2011-01-17 09:59:07 +00:00
Kalle Sommer Nielsen 504b6f695e MFT: Implemented FR #47802 (Support for setting character sets in DSN strings) 2011-01-17 09:54:22 +00:00
Stanislav Malyshev ff4982784a Fix bug #47143, bug #51458 - provide more useful info in bad exception cases 2011-01-16 21:24:43 +00:00
Stanislav Malyshev 3a3f369678 Add options to debug_backtrace functions 2011-01-16 20:39:22 +00:00
Andrey Hristov 97fe653692 fix more parameter stuff, now it is complete 2011-01-14 15:37:49 +00:00
Andrey Hristov f144bb7153 pass data which is available 2011-01-14 15:10:09 +00:00
Johannes Schlüter 22b42afaee - Fix #53551 (PDOStatement execute segfaults for pdo_mysql driver) 2011-01-14 14:57:57 +00:00
Johannes Schlüter 6553823c8b - Fix 5.3.5 date in NEWS 2011-01-14 14:54:18 +00:00
Antony Dovgal 25a43268fd add missing dl() function to FPM SAPI 2011-01-14 13:53:59 +00:00
Pierre Joye 1ec3ec1326 -disable the analyzer for the snapshot in 5.3 too 2011-01-13 19:44:00 +00:00
Ilia Alshanetsky c33795b25b Fixed variable re-declaration 2011-01-13 12:56:28 +00:00
Stanislav Malyshev 9acdcd93a7 revert non-BC change in 5.3 2011-01-13 07:27:46 +00:00
Felipe Pena 64bbdd76c3 - Fixed bug #53717 (checking the number of arguments is wrong in zend_parse_method_parameters_ex())
patch by: klaus at triendl dot eu
2011-01-12 22:17:10 +00:00
Derick Rethans 58810bd055 - Fixed bug #53729 (DatePeriod fails to initialize recurrences on 64bit
big-endian systems). (Patch by rein@basefarm.no)
2011-01-12 19:50:09 +00:00
Ilia Alshanetsky c83278ef22 Fixed variable re-declaration 2011-01-12 13:21:27 +00:00
Felipe Pena 92d82619d7 - Fixed compiler warnings 2011-01-12 00:29:59 +00:00
Ilia Alshanetsky 3abf598b53 Added missing success check around chmod() for windows during temp file creation 2011-01-11 12:57:19 +00:00
Ilia Alshanetsky 484a35373e Fixed bug #53630 (Fixed parameter handling inside readline() function). 2011-01-10 18:19:02 +00:00
Andrey Hristov 21fba3513a new flag 2011-01-10 15:14:56 +00:00
Pierre Joye a209aad993 - remove local redeclaration 2011-01-10 08:28:47 +00:00
Pierre Joye 639d3fbcfb - possible NULL deref 2011-01-10 08:07:38 +00:00
Pierre Joye 10a1f90ab0 - local redeclaration 2011-01-10 01:04:36 +00:00
Pierre Joye ab4ce5516d - some more possible NULL deref 2011-01-10 00:43:08 +00:00
Pierre Joye 8640b61c68 - fix possible NULL deref 2011-01-10 00:30:07 +00:00
Pierre Joye eddd9b7510 - new sec flags should not be on by default for 5.3, yet 2011-01-09 21:41:54 +00:00
Pierre Joye 0d3c6914ad - add configure option to enable the builtin static analyzer (will be enabled for snaps' log) 2011-01-09 21:38:46 +00:00
Pierre Joye 92894b3a81 - debug code-- 2011-01-09 15:19:03 +00:00
Pierre Joye fb6778c241 - let try to fix pecl header install so we can do the same than unix, install them in ext/<extname> instead of pecl<extname> 2011-01-09 14:01:21 +00:00
Rui Hirokawa 279a65eb09 MFH: added an option to http_build_query for RFC-3986
based url-encoding.
2011-01-08 02:34:33 +00:00
Pierre Joye 55077a81f5 - define the php*.lib/dll names 2011-01-07 15:51:36 +00:00
Andrey Hristov eaaef0d870 Proper fix for
Bug #53503      mysqli::query returns false after successful LOAD DATA query
which fixes als #56349, same behavior but in ext/mysql. Both due to a bug
in mysqlnd. Never was a problem with libmysql.
Also fixed the 53503's test case as it always reported PASS, even when there
should have been a failure.
2011-01-07 14:22:30 +00:00
Adam Harvey 39210df0ed Implement request #53684 (Deprecated HTML in sample php.ini). 2011-01-07 03:43:20 +00:00
Felipe Pena 29a82ceb56 - Fixed memory leak on SQLite3Result and SQLite3Stmt when assigning to a reference. 2011-01-07 01:11:16 +00:00
Rasmus Lerdorf 9107b209ea Fix bug #53682 2011-01-06 22:48:20 +00:00
Pierre Joye 84ff832f46 - fix vc6 random behavior for Fix bug #53632 with x87 fpu 2011-01-06 17:08:46 +00:00
Pierre Joye e14c8f39f1 - add CVE (too late for the release tho') 2011-01-06 12:51:35 +00:00
Adam Harvey e4fe297006 Remove empty files left when r306542 was reverted in r306552. 2011-01-06 02:24:49 +00:00
Scott MacVicar e1c1cc0ed5 Implemented FR #53466 (SQLite3Result::columnType() should return false after all of the rows have been fetched). 2011-01-06 00:08:59 +00:00
Etienne Kneuss 47fc5e06f0 Implement SplObjectStorage::removeAllExcept (Patch by Matthey Turland) 2011-01-05 15:01:18 +00:00
Ilia Alshanetsky 6f66356d56 Added test 2011-01-05 14:41:50 +00:00
Johannes Schlüter df344ea7d6 - This will be PHP 5.3.6 2011-01-05 13:39:30 +00:00
Ilia Alshanetsky 02bdb521e2 Optimize unix timestamp to date-string conversion for very high year values 2011-01-05 04:13:23 +00:00
Pierre Joye 09d73b67e2 - revert rev. 307044 2011-01-05 00:59:31 +00:00
Scott MacVicar 0017586f5d Add test for bug #53632 2011-01-04 23:36:56 +00:00
Scott MacVicar 66753ff6c7 Fix bug #53632 with x87 fpu 2011-01-04 22:36:23 +00:00
Stanislav Malyshev f01a0cba6b fix unit tests for intl in accordance with new ICU releases 2011-01-04 03:24:38 +00:00
Kalle Sommer Nielsen ec040e9657 Fixed linking of extensions that would use a static .lib file (libname_a.lib rather than libname.lib)
# This fixes `configure --with-mcrypt=shared' to properly find and 
# link against libmcrypt.lib rather than libmcrypt_a.lib
2011-01-03 23:08:47 +00:00
Hannes Magnusson d1eb2cd737 My name is Hannes
# And today is my birthday \o/
2011-01-03 23:08:08 +00:00
Scott MacVicar 27177c9868 Change DEBUG() to TIMELIB_DEBUG(), there are potential conflicts with other libraries that also use this. 2011-01-03 19:24:04 +00:00
Scott MacVicar 9e0c423bc4 Fix error with initialisation flag being set too early. If encryption is enabled and fails to decrypt a crash can occur.
Also fix a WS error.
2011-01-03 19:15:36 +00:00
Ilia Alshanetsky 3f5ad237e1 Fixed Bug #53629 (memory leak inside highlight_string()). 2011-01-03 14:39:48 +00:00
Stanislav Malyshev 7d3a0e15f5 Imlement clone for formatters that support it
# also some test fixes, more to follow
2011-01-03 03:58:57 +00:00
Pierre Joye b059dfa1e7 - prevent php(version)lib.(dll|lib) to be overriden 2011-01-03 01:22:07 +00:00
Pierre Joye b4ae112dae - we need the core config.w32 only once 2011-01-03 01:08:21 +00:00
Pierre Joye bfb9b6d06e - use the ext deps list for phpize's ADD_EXTENSION_DEP function 2011-01-02 18:29:56 +00:00
Pierre Joye ec3003ade1 - typo, and remove undesired committed part 2011-01-02 18:14:50 +00:00
Pierre Joye 5bd1fd410f - typo 2011-01-02 18:13:20 +00:00
Pierre Joye f62ca3e4bf - generate a list of ext and how they are built, should be updated by phpize'd make (un)install as well, later 2011-01-02 18:03:00 +00:00
Pierre Joye e13c26a141 - fix ADD_EXTENSION_DEP detection 2011-01-01 20:00:21 +00:00
Felipe Pena 914152d6d8 - Year++ 2011-01-01 02:51:27 +00:00
Felipe Pena 12d2104277 - Year++ 2011-01-01 02:48:19 +00:00
Felipe Pena 927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Scott MacVicar 3870e58759 Add SQLite3_Stmt::readOnly for checking if a statement is read only 2010-12-31 16:37:12 +00:00
Gustavo André dos Santos Lopes 5eb264677c - Do not violate php_stream abstraction and use php_stream_tell instead of accessing the field .position.
#Should have no behavior changes.
2010-12-30 19:00:19 +00:00
Hannes Magnusson ac216eb88c New test for stream_meta_data($zipstream) 2010-12-30 17:41:36 +00:00
Eyal Teutsch 8d9307ace4 removed extra ?> from the FILE section 2010-12-30 14:36:01 +00:00
Pierre Joye 19ba599166 - WS 2010-12-28 17:20:10 +00:00
Antony Dovgal c4a5af24e0 fix segfault when node is NULL 2010-12-27 21:47:52 +00:00
Rob Richards 6fab69a17d typo 2010-12-27 19:00:13 +00:00
Rob Richards 2479cd6ec9 fix crash with entity declarations 2010-12-27 18:57:49 +00:00
Gustavo André dos Santos Lopes 9ec9210fbc - Fixed bug #53612 (Segmentation fault when using several cloned intl
objects).
2010-12-27 01:10:08 +00:00
Eyal Teutsch cc1759598f SplFileObject_fgetcsv files: SplFileObject__fgetcsv.csv used instead of SplFileObject::fgetcsv.csv, as to make this naming convetion windows legitimate 2010-12-26 13:29:29 +00:00
Eyal Teutsch 8e47365a97 fixed 6 tests to pass on non-linux os, by removing the generic linux error string from the exp result. on socket_strerror on the other hand, added to the SKIPIF a condition to run on linux only, as the test checks specifically various error strings 2010-12-26 13:10:23 +00:00
Eyal Teutsch 5b5e89bb36 using PWD which is supported by run-tests.php, rather than $cwd 2010-12-26 09:47:50 +00:00
Gustavo André dos Santos Lopes e7d5c4a8fd - Fixed bug #53603 (ZipArchive should quiet stat errors).
#It is unclear if url_stat handlers should emit a warning in case
#PHP_STREAM_URL_STAT_QUIET is not specified and the resource does
#not exist. Most url_stat handlers never emit messages; the plain
#one does only so in the extraordinary event of an open_basedir
#restriction.
#But in case, php_stat uses PHP_STREAM_URL_STAT_QUIET for the
#FS_EXISTS, which suggests that mere checks on file existence are
#supposed to use this flag (arguably).
#The downside is that important diagnostic messages might be
#omitted.
2010-12-24 22:38:36 +00:00
Gustavo André dos Santos Lopes ff32c32fba - Fix PCRE build on Windows; closes bug #53606. 2010-12-24 19:01:25 +00:00
Ilia Alshanetsky 34c6447e9e Upgraded\ bundled\ PCRE\ to\ version\ 8.11. 2010-12-24 15:03:29 +00:00
Gustavo André dos Santos Lopes cd34d68cdd - Fixed bug #53592 (stream_socket_enable_crypto() busy-waits in client mode).
- Fixed stream_socket_enable_crypto() not honoring the socket timeout in
  server mode.
2010-12-23 01:44:54 +00:00
Ilia Alshanetsky a68864969e Fixed bug #52209 (INPUT_ENV returns NULL for set variables (CLI)). 2010-12-22 16:18:59 +00:00
Ilia Alshanetsky 880d61e9c6 removed unused var 2010-12-21 22:05:15 +00:00
Gustavo André dos Santos Lopes 8f44d2ca36 - Revert of revision 306542, turns out the semantics of compare() are
different in SplMinHeap and SplMaxHeap.
2010-12-21 19:52:17 +00:00
Gustavo André dos Santos Lopes e427e312d4 - Fixed bug #53588 (SplMinHeap bad sorting with custom compare
function).
2010-12-21 17:29:14 +00:00
Ilia Alshanetsky 399182de3f Fixed compiler warnings 2010-12-20 23:00:11 +00:00
Hannes Magnusson 3ce18aa852 Fixed bug#53579 (stream_get_contents() segfaults on ziparchive streams)
Also added the filename being access to the stream_get_meta_data() array
2010-12-20 11:00:27 +00:00
Gustavo André dos Santos Lopes f13d9c0e03 - Fixed bug #53574 (Integer overflow in SdnToJulian, sometimes leading to
segfault).
2010-12-19 23:47:00 +00:00
Stanislav Malyshev 25c5841160 Fix bad args to grapheme_extract(), reported by Maksymilian Arciemowicz 2010-12-19 05:07:31 +00:00
Felipe Pena 671ac356e6 - Cosmetics again 2010-12-18 18:06:34 +00:00
Felipe Pena b0fa53adcc - Cosmetics 2010-12-18 18:04:19 +00:00
Pierre Joye 0d7487da46 - fix test 2010-12-18 13:34:22 +00:00
Pierre Joye 1be3dc76af - NEWS update and test related to the NULL poisoning recent fixes 2010-12-18 12:51:23 +00:00
Pierre Joye fd161b8ea1 - fix possible crash introduced by the null poisoning patch 2010-12-18 12:08:50 +00:00
Pierre Joye 349082267f - fix leak introduced by the null poisoning patch 2010-12-18 12:06:58 +00:00
Pierre Joye 96b6130930 - fix leak introduced by the null poisoning patch 2010-12-18 12:05:55 +00:00
Jérôme Loyet e77d3268d7 - Fixed bug #53527 (php-fpm --test doesn't set a valuable return value). 2010-12-18 11:22:11 +00:00
Gustavo André dos Santos Lopes 2070f153f9 - Fixed bug #53568 (swapped memset arguments in struct initialization). 2010-12-17 23:05:26 +00:00
Jani Taskinen 9cb1b1e948 - Update credits 2010-12-17 10:49:02 +00:00
Jani Taskinen 4a8438b3e1 - Revert 2010-12-17 10:43:52 +00:00
Hannes Magnusson 6f94e2dd2a Throw some credit around 2010-12-17 10:16:50 +00:00
Andrey Hristov 17b8336047 fix a small bug about affected_rows in the text protocol 2010-12-16 12:56:19 +00:00
Andrey Hristov 4e08abeead Fix sprintf modifier to be right, wrong data reported in the log 2010-12-16 12:18:54 +00:00
Derick Rethans 1cf5713dd3 - Fixed a bug in DateTime->modify() where absolute date/time statements had no
effect.
2010-12-15 21:45:25 +00:00
Andrey Hristov f35b89c7c4 count preciser in case of error 2010-12-15 14:14:58 +00:00
Pierre Joye c4f631b275 - we don't bundled fbclient, system version is used 2010-12-15 02:01:21 +00:00
Pierre Joye c05b1228db - typo 2010-12-15 00:39:07 +00:00
Pierre Joye f56ab54feb - devel must be done before dist 2010-12-14 23:21:01 +00:00
Pierre Joye f7b5a73383 - fix build with out of src obj dir 2010-12-14 23:09:31 +00:00
Pierre Joye e2ea0f5d98 - we just reached the tiny cmd lenght limit, let reduce the size of dirs 2010-12-14 18:49:15 +00:00
Ilia Alshanetsky 07607df542 Fixed compiler warning 2010-12-14 17:01:54 +00:00
Ilia Alshanetsky c946ff2f51 Fixed bug #53541 (format string bug in ext/phar). 2010-12-14 17:00:36 +00:00
Pierre Joye 64d49da654 - fix header install 2010-12-14 13:10:25 +00:00
Pierre Joye 630d411c5c - that's not in 5.3 2010-12-14 12:12:26 +00:00
Pierre Joye 101bb97773 - that's not in 5.3 2010-12-14 12:11:39 +00:00
Pierre Joye d14417f8ea - add nmake install-sdk (create the devel package) and related sub rules 2010-12-14 02:55:26 +00:00
Pierre Joye acd87493ec -add a link to snmp install doc about the MIBS data, remove static or removed exts 2010-12-13 21:07:13 +00:00
Pierre Joye 12a3e339f4 - MFH trailing slashes detection 2010-12-13 20:57:06 +00:00
Pierre Joye 0beae1e558 - that should not have been applied 2010-12-13 18:45:53 +00:00
Pierre Joye aea6771d19 - add phpize support for windows, need a nmake install for now (nmake devel-pkg version is coming), works exactly the same as on unix, or should :) 2010-12-13 18:43:10 +00:00
Pierre Joye 4ee6b4dfbb -ws 2010-12-13 18:07:08 +00:00
Ilia Alshanetsky 8afdb7cd49 Fixed bug #48607 (fwrite() doesn't check reply from ftp server before exiting) 2010-12-13 16:53:26 +00:00
Kalle Sommer Nielsen 5a6288297d Revert fix for bug #53493 to be compliant with the XML specification 2010-12-13 14:29:42 +00:00
Kalle Sommer Nielsen a990ce69b1 Fixed bug #53493 (xmlrpc_decode should not be sensitive to leading whitespace) 2010-12-13 09:52:05 +00:00
Adam Harvey 75a9b76a3e MFH: fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long
MIME header unfolding).
2010-12-13 08:38:01 +00:00
Adam Harvey e87fbccfd8 MFH: implement FR #53447 (Cannot disable SessionTicket extension for servers
that do not support it). Includes Tony's subsequent commit to fix a segfault.
2010-12-13 08:29:44 +00:00
Gustavo André dos Santos Lopes 75de05cead - Fixed bug #53530 (php_crypt tests gcc version incorrectly due to
typo) (vapier at gmail dot com)
2010-12-12 22:27:02 +00:00
Felipe Pena 2fbc49793e - Cosmetics 2010-12-12 21:11:54 +00:00
Ilia Alshanetsky fbe4532b48 Fixed bug #47435 (FILTER_FLAG_NO_RES_RANGE don't work with ipv6). 2010-12-12 19:54:21 +00:00
Ilia Alshanetsky 82287511ad Fixed bug 48484 (array_product() always returns 0 for an empty array). 2010-12-12 19:27:04 +00:00
Ilia Alshanetsky c1e9f628a0 Fixed bug #53150 (FILTER_FLAG_NO_RES_RANGE is missing some IP ranges) 2010-12-12 18:36:21 +00:00
Kalle Sommer Nielsen 071513562d Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to call libmysql)
# Based on patch by tre-php-net at crushedhat dot com
2010-12-12 18:00:25 +00:00
Kalle Sommer Nielsen b529d43c0d Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA query) 2010-12-12 16:17:50 +00:00
Derick Rethans 79aaaf4179 - Fixed a few test cases
- Updated timezone mapping table; to remove unparsable timezones.
2010-12-12 16:06:41 +00:00
Eyal Teutsch 95c4e449d1 moved the second unlink() to the CLEAN section in the SplFileObject_fwrite_variation* tests 2010-12-12 07:24:51 +00:00
Martin Jansen f6cedd2ad5 Merge from trunk:
* Fixed parameter check introduced with the recent fix for bug #53492.

* Improved the error message along the way.
2010-12-11 20:10:39 +00:00
Ilia Alshanetsky 9e48381b28 Upgraded bundled Sqlite3 to version 3.7.4. 2010-12-11 14:57:34 +00:00
Gustavo André dos Santos Lopes ff77814d03 - Tests and small parsing correction for php://fd wrapper 2010-12-11 02:08:02 +00:00
Gustavo André dos Santos Lopes 3c8c56fb98 - Implemented request #26158/bug #53465 (open arbitrary file descriptor with fopen) 2010-12-11 01:52:13 +00:00
Felipe Pena 9864040e35 - Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0 values) 2010-12-10 23:58:33 +00:00
George Wang cccba0fa4d fixed keyLen validation point 2010-12-10 22:51:08 +00:00
Felipe Pena 83a7831760 - Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down)
patch by: gyp at balabit dot hu
2010-12-10 17:50:26 +00:00
Felipe Pena 215917d711 - Fixed ZTS build 2010-12-10 11:33:35 +00:00
Felipe Pena df5f526cbd - Cosmetics 2010-12-10 11:26:14 +00:00
Scott MacVicar d9187596c9 MFH: Fix indirect reference of $this 2010-12-10 06:34:03 +00:00
Christopher Jones 35c47c58df Update for PECL upload that is synced with PHP 5.3.4 2010-12-10 04:36:29 +00:00
Felipe Pena 8b1d477052 - Added test for bug #53512 2010-12-10 00:59:50 +00:00
Felipe Pena 7d2b089860 - Fixed bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values) 2010-12-10 00:47:51 +00:00
Felipe Pena 573475a848 - Fixed bug #39199 (Cannot load Lob data with more than 4000 bytes on ORACLE 10)
patch by: spatar at mail dot nnov dot ru
2010-12-10 00:33:48 +00:00
Eyal Teutsch 7eb70247a3 test bug42364 included a superfluous ?> 2010-12-09 12:39:21 +00:00
Eyal Teutsch 30d290a31e pdo_025 expected a certain extra character that is not part of windows output. changed to optional char: %a -> %A 2010-12-09 12:04:18 +00:00
Johannes Schlüter 78a2762e88 Back to -dev 2010-12-08 22:48:36 +00:00
Andrey Hristov 85b434465c enable again after 5.3.4 has already been tagged 2010-12-08 21:55:29 +00:00
1566 changed files with 39766 additions and 15260 deletions

No files matched your search

+1321 -1320
View File
File diff suppressed because it is too large. Load diff
+523 -20
View File
@@ -1,5 +1,506 @@
PHP NEWS
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
14 Jul 2011, PHP 5.3.7 RC3
- Zend Engine:
. Fixed bug #55156 (ReflectionClass::getDocComment() returns comment even
though the class has none). (Felipe)
- Core
. Fixed bug #55187 (readlink returns weird characters when false result).
(Pierre)
. Fixed bug #55014 (Compile failure due to improper use of ctime_r()). (Ilia)
. Fixed bug #54332 (Crash in zend_mm_check_ptr // Heap corruption). (Dmitry)
. Fixed bug #54305 (Crash in gc_remove_zval_from_buffer). (Dmitry)
. Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces)
(Ralph Schindler, Dmitry)
. Fixed buffer overflow on overlog salt in crypt(). (Clément LECIGNE, Stas)
. Fixed bug #52935 (call exit in user_error_handler cause stream relate
core). (Gustavo)
- MCrypt
. Change E_ERROR to E_WARNING in mcrypt_create_iv when not enough data
has been fetched (Windows). (Pierre)
. Fixed bug #55169 (mcrypt_create_iv always fails to gather sufficient random
data on Windows). (Pierre)
- PDO DBlib:
. Fixed bug #54329 (MSSql extension memory leak).
(dotslashpok at gmail dot com)
30 Jun 2011, PHP 5.3.7 RC2
- Core:
. Fixed crash in error_log(). (Felipe) Reported by Mateusz Kocielski.
. Fixed bug #55082 (var_export() doesn't escape properties properly).
(Gustavo)
- DateTime extension:
. Fixed bug where the DateTime object got changed while using date_diff().
(Derick)
- DBA extension:
. Supress warning on non-existent file open with Berkeley DB 5.2 (Chris Jones)
- PDO ODBC driver:
. Fixed data type usage in 64bit. (leocsilva at gmail dot com)
- PHP-FPM SAPI:
. Implemented FR #54499 (FPM ping and status_path should handle HEAD request). (fat)
. Implemented FR #54172 (Overriding the pid file location of php-fpm). (fat)
. Fixed missing Expires and Cache-Control headers for ping and status pages.
(fat)
. Fixed memory leak. (fat) Reported and fixed by Giovanni Giacobbi.
. Fixed wrong value of log_level when invoking fpm with -tt. (fat)
- SPL extension:
. Fixed bug #54971 (Wrong result when using iterator_to_array with use_keys
on true). (Pierrick)
16 Jun 2011, PHP 5.3.7 RC1
- Upgraded bundled SQLite to version 3.7.6.3. (Scott)
- Upgraded bundled PCRE to version 8.12. (Scott)
- Increased the backtrack limit from 100000 to 1000000 (Rasmus)
- Zend Engine:
. Fixed bug #55007 (compiler fail after previous fail). (Felipe)
. Fixed bug #54910 (Crash when calling call_user_func with unknown function
name). (Dmitry)
. Fixed bug #54804 (__halt_compiler and imported namespaces).
(Pierrick, Felipe)
. Fixed bug #54624 (class_alias and type hint). (Felipe)
. Fixed bug #54585 (track_errors causes segfault). (Dmitry)
. Fixed bug #54423 (classes from dl()'ed extensions are not destroyed).
(Tony, Dmitry)
. Fixed bug #54372 (Crash accessing global object itself returned from its
__get() handle). (Dmitry)
. Fixed bug #54358 (Closure, use and reference). (Dmitry)
. Fixed bug #54367 (Use of closure causes problem in ArrayAccess). (Dmitry)
. Fixed bug #54039 (use() of static variables in lambda functions can break
staticness). (Dmitry)
. Fixed bug #54262 (Crash when assigning value to a dimension in a non-array).
(Dmitry)
- Core:
. Implemented FR #54459 (Range function accuracy). (Adam)
. Added PHP_MANDIR constant telling where the manpages were installed into,
and an --man-dir argument to php-config. (Hannes)
. Fixed a crash inside dtor for error handling. (Ilia)
. Fixed bug #54939 (File path injection vulnerability in RFC1867 File upload
filename). (Felipe) Reported by Krzysztof Kotowicz. (CVE-2011-2202)
. Fixed bug #54935 php_win_err can lead to crash. (Pierre)
. Fixed bug #54924 (assert.* is not being reset upon request shutdown). (Ilia)
. Fixed bug #54895 (Fix compiling with older gcc version without need for
membar_producer macro). (mhei at heimpold dot de)
. Fixed bug #54723 (getimagesize() doesn't check the full ico signature).
(Scott)
. Fixed bug #54580 (get_browser() segmentation fault when browscap ini
directive is set through php_admin_value). (Gustavo)
. Fixed bug #54238 (use-after-free in substr_replace()). (Stas)
(CVE-2011-1148)
. Fixed bug #54180 (parse_url() incorrectly parses path when ? in fragment).
(tomas dot brastavicius at quantum dot lt, Pierrick)
. Fixed bug #54137 (file_get_contents POST request sends additional line
break). (maurice-php at mertinkat dot net, Ilia)
. Fixed bug #54866 (incorrect accounting for realpath_cache_size).
(Dustin Ward)
. Fixed bug #54721 (Different Hashes on Windows, BSD and Linux on wrong Salt
size). (Pierre, os at irj dot ru)
. Fixed bug #53848 (fgetcsv() ignores spaces at beginnings of fields). (Ilia)
. Alternative fix for bug #52550, as applied to the round() function (signed
overflow), as the old fix impacted the algorithm for numbers with magnitude
smaller than 0. (Gustavo)
. Fixed bug #51997 (SEEK_CUR with 0 value, returns a warning). (Ilia)
. Fixed bug #50363 (Invalid parsing in convert.quoted-printable-decode
filter). (slusarz at curecanti dot org)
. Fixed bug #48465 (sys_get_temp_dir() possibly inconsistent when using
TMPDIR on Windows). (Pierre)
- Apache2 Handler SAPI:
. Fixed bug #54529 (SAPI crashes on apache_config.c:197).
(hebergement at riastudio dot fr)
- CLI SAPI:
. Fixed bug #52496 (Zero exit code on option parsing failure). (Ilia)
- cURL:
. Added ini option curl.cainfo (support for custom cert db). (Pierre)
. Added CURLINFO_REDIRECT_URL support. (Daniel Stenberg, Pierre)
. Added support for CURLOPT_MAX_RECV_SPEED_LARGE and
CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815. (Pierrick)
- DateTime extension:
. Fixed bug #54340 (DateTime::add() method bug). (Adam)
. Fixed bug #54316 (DateTime::createFromFormat does not handle trailing '|'
correctly). (Adam)
. Fixed bug #54283 (new DatePeriod(NULL) causes crash). (Felipe)
. Fixed bug #51819 (Case discrepancy in timezone names cause Uncaught
exception and fatal error). (Hannes)
- DBA extension:
. Fixed bug #54242 (dba_insert returns true if key already exists). (Felipe)
- Exif extesion:
. Fixed bug #54121 (error message format string typo). (Ilia)
- Fileinfo extension:
. Fixed bug #54934 (Unresolved symbol strtoull in HP-UX 11.11). (Felipe)
- Filter extension:
. Added 3rd parameter to filter_var_array() and filter_input_array()
functions that allows disabling addition of empty elements. (Ilia)
. Fixed bug #53037 (FILTER_FLAG_EMPTY_STRING_NULL is not implemented). (Ilia)
- Interbase extension:
. Fixed bug #54269 (Short exception message buffer causes crash). (Felipe)
- intl extension:
. Implemented FR #54540 (Allow loading of arbitrary resource bundles when
fallback is disabled). (David Zuelke, Stas)
. Implemented FR #54561 (Expose ICU version info). (David Zuelke, Ilia)
- json extension:
. Fixed bug #54484 (Empty string in json_decode doesn't reset
json_last_error()). (Ilia)
- LDAP extension:
. Fixed bug #53339 (Fails to build when compilng with gcc 4.5 and DSO
libraries). (Clint Byrum, Raphael)
- libxml extension:
. Fixed bug #54601 (Removing the doctype node segfaults). (Hannes)
. Fixed bug #54440 (libxml extension ignores default context). (Gustavo)
- mbstring extension:
. Fixed bug #54494 (mb_substr() mishandles UTF-32LE and UCS-2LE). (Gustavo)
- MySQL Improved extension:
. Fixed Bug #54221 (mysqli::get_warnings segfault when used in multi queries).
(Andrey)
- mysqlnd
. Fixed crash when using more than 28,000 bound parameters. Workaround is to
set mysqlnd.net_cmd_buffer_size to at least 9000. (Andrey)
. Fixed bug #54674 mysqlnd valid_sjis_(head|tail) is using invalid operator
and range). (nihen at megabbs dot com, Andrey)
- OpenSSL extension
. Fixed bug #54992 (Stream not closed and error not returned when SSL
CN_match fails). (Gustavo, laird_ngrps at dodo dot com dot au)
- Oracle Database extension (OCI8):
. Added oci_client_version() returning the runtime Oracle client library
version (Chris Jones)
- PDO extension:
. Fixed bug #54929 (Parse error with single quote in sql comment). (Felipe)
. Fixed bug #52104 (bindColumn creates Warning regardless of ATTR_ERRMODE
settings). (Ilia)
- PDO DBlib driver:
. Fixed bug #54167 (PDO_DBLIB returns null on SQLUNIQUE field).
(mjh at hodginsmedia dot com, Felipe)
- PDO MySQL driver:
. Fixed bug #54644 (wrong pathes in php_pdo_mysql_int.h). (Tony, Johannes)
. Fixed bug #53782 (foreach throws irrelevant exception). (Johannes, Andrey)
. Implemented FR #48587 (MySQL PDO driver doesn't support SSL connections).
(Rob)
- PDO PostgreSQL driver:
. Fixed bug #54318 (Non-portable grep option used in PDO pgsql
configuration). (bwalton at artsci dot utoronto dot ca)
- PDO Oracle driver:
. Fixed bug #44989 (64bit Oracle RPMs still not supported by pdo-oci).
(jbnance at tresgeek dot net)
- Phar extension:
. Fixed bug #54395 (Phar::mount() crashes when calling with wrong parameters).
(Felipe)
- PHP-FPM SAPI:
. Added xml format to the status page. (fat)
. Removed timestamp in logs written by children processes. (fat)
. Fixed exit at FPM startup on fpm_resources_prepare() errors. (fat)
. Added master rlimit_files and rlimit_core in the global configuration
settings. (fat)
. Removed pid in debug logs written by chrildren processes. (fat)
. Added custom access log (also added per request %CPU and memory
mesurement). (fat)
. Added a real scoreboard and several improvements to the status page. (fat)
- Reflection extension:
. Fixed bug #54347 (reflection_extension does not lowercase module function
name). (Felipe, laruence at yahoo dot com dot cn)
- SOAP extension:
. Fixed bug #54312 (soap_version logic bug). (tom at samplonius dot org)
- Sockets extension:
. Fixed stack buffer overflow in socket_connect(). (CVE-2011-1938)
Found by Mateusz Kocielski, Marek Kroemeke and Filip Palian. (Felipe)
. Changed socket_set_block() and socket_set_nonblock() so they emit warnings
on error. (Gustavo)
. Fixed bug #51958 (socket_accept() fails on IPv6 server sockets). (Gustavo)
- SPL extension:
. Fixed bug #54970 (SplFixedArray::setSize() isn't resizing). (Felipe)
. Fixed bug #54609 (Certain implementation(s) of SplFixedArray cause hard
crash). (Felipe)
. Fixed bug #54384 (Dual iterators, GlobIterator, SplFileObject and
SplTempFileObject crash when user-space classes don't call the paren
constructor). (Gustavo)
. Fixed bug #54292 (Wrong parameter causes crash in
SplFileObject::__construct()). (Felipe)
. Fixed bug #54291 (Crash iterating DirectoryIterator for dir name starting
with \0). (Gustavo)
. Fixed bug #54281 (Crash in non-initialized RecursiveIteratorIterator).
(Felipe)
- Streams:
. Fixed bug #54946 (stream_get_contents infinite loop). (Hannes)
. Fixed bug #54623 (Segfault when writing to a persistent socket after
closing a copy of the socket). (Gustavo)
. Zip extension:
. Fixed bug #54681 (addGlob() crashes on invalid flags). (Felipe)
17 Mar 2011, PHP 5.3.6
- Upgraded bundled Sqlite3 to version 3.7.4. (Ilia)
- Upgraded bundled PCRE to version 8.11. (Ilia)
- Zend Engine:
. Indirect reference to $this fails to resolve if direct $this is never used
in method. (Scott)
. Added options to debug backtrace functions. (Stas)
. Fixed bug numerous crashes due to setlocale (crash on error, pcre, mysql
etc.) on Windows in thread safe mode. (Pierre)
. Fixed Bug #53971 (isset() and empty() produce apparently spurious runtime
error). (Dmitry)
. Fixed Bug #53958 (Closures can't 'use' shared variables by value and by
reference). (Dmitry)
. Fixed Bug #53629 (memory leak inside highlight_string()). (Hannes, Ilia)
. Fixed Bug #51458 (Lack of error context with nested exceptions). (Stas)
. Fixed Bug #47143 (Throwing an exception in a destructor causes a fatal
error). (Stas)
. Fixed bug #43512 (same parameter name can be used multiple times in
method/function definition). (Felipe)
- Core:
. Added ability to connect to HTTPS sites through proxy with basic
authentication using stream_context/http/header/Proxy-Authorization (Dmitry)
. Changed default value of ini directive serialize_precision from 100 to 17.
(Gustavo)
. Fixed bug #54055 (buffer overrun with high values for precision ini
setting). (Gustavo)
. Fixed bug #53959 (reflection data for fgetcsv out-of-date). (Richard)
. Fixed bug #53577 (Regression introduced in 5.3.4 in open_basedir with a
trailing forward slash). (lekensteyn at gmail dot com, Pierre)
. Fixed bug #53682 (Fix compile on the VAX). (Rasmus, jklos)
. Fixed bug #48484 (array_product() always returns 0 for an empty array).
(Ilia)
. Fixed bug #48607 (fwrite() doesn't check reply from ftp server before
exiting). (Ilia)
- Calendar extension:
. Fixed bug #53574 (Integer overflow in SdnToJulian, sometimes leading to
segfault). (Gustavo)
- DOM extension:
. Implemented FR #39771 (Made DOMDocument::saveHTML accept an optional DOMNode
like DOMDocument::saveXML). (Gustavo)
- DateTime extension:
. Fixed a bug in DateTime->modify() where absolute date/time statements had
no effect. (Derick)
. Fixed bug #53729 (DatePeriod fails to initialize recurrences on 64bit
big-endian systems). (Derick, rein@basefarm.no)
. Fixed bug #52808 (Segfault when specifying interval as two dates). (Stas)
. Fixed bug #52738 (Can't use new properties in class extended from
DateInterval). (Stas)
. Fixed bug #52290 (setDate, setISODate, setTime works wrong when DateTime
created from timestamp). (Stas)
. Fixed bug #52063 (DateTime constructor's second argument doesn't have a
null default value). (Gustavo, Stas)
- Exif extension:
. Fixed bug #54002 (crash on crafted tag, reported by Luca Carettoni).
(Pierre) (CVE-2011-0708)
- Filter extension:
. Fixed bug #53924 (FILTER_VALIDATE_URL doesn't validate port number).
(Ilia, Gustavo)
. Fixed bug #53150 (FILTER_FLAG_NO_RES_RANGE is missing some IP ranges).
(Ilia)
. Fixed bug #52209 (INPUT_ENV returns NULL for set variables (CLI)). (Ilia)
. Fixed bug #47435 (FILTER_FLAG_NO_RES_RANGE don't work with ipv6).
(Ilia, valli at icsurselva dot ch)
- Fileinfo extension:
. Fixed bug #54016 (finfo_file() Cannot determine filetype in archives).
(Hannes)
- Gettext
. Fixed bug #53837 (_() crashes on Windows when no LANG or LANGUAGE
environment variable are set). (Pierre)
- IMAP extension:
. Implemented FR #53812 (get MIME headers of the part of the email). (Stas)
. Fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long
MIME header unfolding). (Adam)
- Intl extension:
. Fixed bug #53612 (Segmentation fault when using cloned several intl
objects). (Gustavo)
. Fixed bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values).
(Felipe)
. Implemented clone functionality for number, date & message formatters.
(Stas).
- JSON extension:
. Fixed bug #53963 (Ensure error_code is always set during some failed
decodings). (Scott)
- mysqlnd
. Fixed problem with always returning 0 as num_rows for unbuffered sets.
(Andrey, Ulf)
- MySQL Improved extension:
. Added 'db' and 'catalog' keys to the field fetching functions (FR #39847).
(Kalle)
. Fixed buggy counting of affected rows when using the text protocol. The
collected statistics were wrong when multi_query was used with mysqlnd
(Andrey)
. Fixed bug #53795 (Connect Error from MySqli (mysqlnd) when using SSL).
(Kalle)
. Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA
query). (Kalle, Andrey)
. Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to
call libmysql). (Kalle, tre-php-net at crushedhat dot com)
- OpenSSL extension:
. Fixed stream_socket_enable_crypto() not honoring the socket timeout in
server mode. (Gustavo)
. Fixed bug #54060 (Memory leaks when openssl_encrypt). (Pierre)
. Fixed bug #54061 (Memory leaks when openssl_decrypt). (Pierre)
. Fixed bug #53592 (stream_socket_enable_crypto() busy-waits in client mode).
(Gustavo)
. Implemented FR #53447 (Cannot disable SessionTicket extension for servers
that do not support it) by adding a no_ticket SSL context option. (Adam,
Tony)
- PDO MySQL driver:
. Fixed bug #53551 (PDOStatement execute segfaults for pdo_mysql driver).
(Johannes)
. Implemented FR #47802 (Support for setting character sets in DSN strings).
(Kalle)
- PDO Oracle driver:
. Fixed bug #39199 (Cannot load Lob data with more than 4000 bytes on
ORACLE 10). (spatar at mail dot nnov dot ru)
- PDO PostgreSQL driver:
. Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down).
(gyp at balabit dot hu)
- Phar extension:
. Fixed bug #54247 (format-string vulnerability on Phar). (Felipe)
(CVE-2011-1153)
. Fixed bug #53541 (format string bug in ext/phar).
(crrodriguez at opensuse dot org, Ilia)
. Fixed bug #53898 (PHAR reports invalid error message, when the directory
does not exist). (Ilia)
- PHP-FPM SAPI:
. Enforce security in the fastcgi protocol parsing.
(ef-lists at email dotde)
. Fixed bug #53777 (php-fpm log format now match php_error log format). (fat)
. Fixed bug #53527 (php-fpm --test doesn't set a valuable return value). (fat)
. Fixed bug #53434 (php-fpm slowlog now also logs the original request). (fat)
- Readline extension:
. Fixed bug #53630 (Fixed parameter handling inside readline() function).
(jo at feuersee dot de, Ilia)
- Reflection extension:
. Fixed bug #53915 (ReflectionClass::getConstant(s) emits fatal error on
constants with self::). (Gustavo)
- Shmop extension:
. Fixed bug #54193 (Integer overflow in shmop_read()). (Felipe)
Reported by Jose Carlos Norte <jose at eyeos dot org> (CVE-2011-1092)
- SNMP extension:
. Fixed bug #51336 (snmprealwalk (snmp v1) does not handle end of OID tree
correctly). (Boris Lytochkin)
- SOAP extension:
. Fixed possible crash introduced by the NULL poisoning patch.
(Mateusz Kocielski, Pierre)
- SPL extension:
. Fixed memory leak in DirectoryIterator::getExtension() and
SplFileInfo::getExtension(). (Felipe)
. Fixed bug #53914 (SPL assumes HAVE_GLOB is defined). (Chris Jones)
. Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0
values). (Felipe)
. Fixed bug #49608 (Using CachingIterator on DirectoryIterator instance
segfaults). (Felipe)
. Added SplFileInfo::getExtension(). FR #48767. (Peter Cowburn)
- SQLite3 extension:
. Fixed memory leaked introduced by the NULL poisoning patch.
(Mateusz Kocielski, Pierre)
. Fixed memory leak on SQLite3Result and SQLite3Stmt when assigning to a
reference. (Felipe)
. Add SQlite3_Stmt::readonly() for checking if a statement is read only.
(Scott)
. Implemented FR #53466 (SQLite3Result::columnType() should return false after
all of the rows have been fetched). (Scott)
- Streams:
. Fixed bug #54092 (Segmentation fault when using HTTP proxy with the FTP
wrapper). (Gustavo)
. Fixed bug #53913 (Streams functions assume HAVE_GLOB is defined). (Chris
Jones)
. Fixed bug #53903 (userspace stream stat callback does not separate the
elements of the returned array before converting them). (Gustavo)
. Implemented FR #26158 (open arbitrary file descriptor with fopen). (Gustavo)
- Tokenizer Extension
. Fixed bug #54089 (token_get_all() does not stop after __halt_compiler).
(Ilia)
- XSL extension:
. Fixed memory leaked introduced by the NULL poisoning patch.
(Mateusz Kocielski, Pierre)
- Zip extension:
. Added the filename into the return value of stream_get_meta_data(). (Hannes)
. Fixed bug #53923 (Zip functions assume HAVE_GLOB is defined). (Adam)
. Fixed bug #53893 (Wrong return value for ZipArchive::extractTo()). (Pierre)
. Fixed bug #53885 (ZipArchive segfault with FL_UNCHANGED on empty archive).
(Stas, Maksymilian Arciemowicz). (CVE-2011-0421)
. Fixed bug #53854 (Missing constants for compression type). (Richard, Adam)
. Fixed bug #53603 (ZipArchive should quiet stat errors). (brad dot froehle at
gmail dot com, Gustavo)
. Fixed bug #53579 (stream_get_contents() segfaults on ziparchive streams).
(Hannes)
. Fixed bug #53568 (swapped memset arguments in struct initialization).
(crrodriguez at opensuse dot org)
. Fixed bug #53166 (Missing parameters in docs and reflection definition).
(Richard)
. Fixed bug #49072 (feof never returns true for damaged file in zip).
(Gustavo, Richard Quadling)
06 Jan 2011, PHP 5.3.5
- Fixed Bug #53632 (infinite loop with x87 fpu). (CVE-2010-4645) (Scott,
Rasmus)
09 Dec 2010, PHP 5.3.4
- Upgraded bundled Sqlite3 to version 3.7.3. (Ilia)
- Upgraded bundled PCRE to version 8.10. (Ilia)
@@ -7,7 +508,8 @@
- Security enhancements:
. Fixed crash in zip extract method (possible CWE-170).
(Maksymilian Arciemowicz, Pierre)
. Paths with NULL in them (foo\0bar.txt) are now considered as invalid. (Rasmus)
. Paths with NULL in them (foo\0bar.txt) are now considered as invalid.
(Rasmus)
. Fixed a possible double free in imap extension (Identified by Mateusz
Kocielski). (CVE-2010-4150). (Ilia)
. Fixed NULL pointer dereference in ZipArchive::getArchiveComment.
@@ -34,8 +536,8 @@
. Implemented symbolic links support for open_basedir checks. (Pierre)
. Implemented FR #51804, SplFileInfo::getLinkTarget on Windows. (Pierre)
. Implemented FR #50692, not uploaded files don't count towards
max_file_uploads limit. As a side improvement, temporary files are not opened
for empty uploads and, in debug mode, 0-length uploads. (Gustavo)
max_file_uploads limit. As a side improvement, temporary files are not
opened for empty uploads and, in debug mode, 0-length uploads. (Gustavo)
- Improved MySQLnd:
. Added new character sets to mysqlnd, which are available in MySQL 5.5
@@ -72,12 +574,12 @@
. Fixed bug #53141 (autoload misbehaves if called from closing session).
(ladislav at marek dot su)
. Fixed bug #53021 (In html_entity_decode, failure to convert numeric entities
with ENT_NOQUOTES and ISO-8859-1). Fixed and extended the fix of ENT_NOQUOTES
in html_entity_decode that had introduced the bug (rev #185591) to other
encodings. Additionaly, html_entity_decode() now doesn't decode &#34; if
ENT_NOQUOTES is given. (Gustavo)
. Fixed bug #52931 (strripos not overloaded with function overloading enabled).
(Felipe)
with ENT_NOQUOTES and ISO-8859-1). Fixed and extended the fix of
ENT_NOQUOTES in html_entity_decode that had introduced the bug (rev
#185591) to other encodings. Additionaly, html_entity_decode() now doesn't
decode &#34; if ENT_NOQUOTES is given. (Gustavo)
. Fixed bug #52931 (strripos not overloaded with function overloading
enabled). (Felipe)
. Fixed bug #52772 (var_dump() doesn't check for the existence of
get_class_name before calling it). (Kalle, Gustavo)
. Fixed bug #52534 (var_export array with negative key). (Felipe)
@@ -91,7 +593,8 @@
other platforms). (Pierre)
. Fixed bug #49687 (utf8_decode vulnerabilities and deficiencies in the number
of reported malformed sequences). (CVE-2010-3870) (Gustavo)
. Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8). (Gustavo)
. Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8).
(Gustavo)
. Fixed bug #48831 (php -i has different output to php --ini). (Richard,
Pierre)
. Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4).
@@ -192,8 +695,8 @@
words). (Ilia)
- Intl extension:
. Fixed crashes on invalid parameters in intl extension. (CVE-2010-4409). (Stas, Maksymilian
Arciemowicz)
. Fixed crashes on invalid parameters in intl extension. (CVE-2010-4409).
(Stas, Maksymilian Arciemowicz)
. Added support for formatting the timestamp stored in a DateTime object.
(Stas)
. Fixed bug #50590 (IntlDateFormatter::parse result is limited to the integer
@@ -203,8 +706,8 @@
. Fixed bug #53273 (mb_strcut() returns garbage with the excessive length
parameter). (CVE-2010-4156) (Mateusz Kocielski, Pierre, Moriyoshi)
. Fixed bug #52981 (Unicode casing table was out-of-date. Updated with
UnicodeData-6.0.0d7.txt and included the source of the generator program with
the distribution) (Gustavo).
UnicodeData-6.0.0d7.txt and included the source of the generator program
with the distribution) (Gustavo).
. Fixed bug #52681 (mb_send_mail() appends an extra MIME-Version header).
(Adam)
@@ -275,8 +778,8 @@
. Fixed bug #52725 (gcc builtin atomic functions were sometimes used when they
were not available). (fat)
. Fixed bug #52693 (configuration file errors are not logged to stderr). (fat)
. Fixed bug #52674 (FPM Status page returns inconsistent Content-Type headers).
(fat)
. Fixed bug #52674 (FPM Status page returns inconsistent Content-Type
headers). (fat)
. Fixed bug #52498 (libevent was not only linked to php-fpm). (fat)
- PDO:
@@ -334,9 +837,9 @@
- Streams:
. Fixed forward stream seeking emulation in streams that don't support seeking
in situations where the read operation gives back less data than requested
and when there was data in the buffer before the emulation started. Also made
more consistent its behavior -- should return failure every time less data
than was requested was skipped. (Gustavo)
and when there was data in the buffer before the emulation started. Also
made more consistent its behavior -- should return failure every time less
data than was requested was skipped. (Gustavo)
. Fixed bug #53241 (stream casting that relies on fdopen/fopencookie fails
with streams opened with, inter alia, the 'xb' mode). (Gustavo)
. Fixed bug #53006 (stream_get_contents has an unpredictable behavior when the
+10 -14
View File
@@ -100,16 +100,14 @@ Derick) run the following commands for you:
``sudo -u ezmlm ezmlm-sub ~ezmlm/primary-qa-tester/mod moderator-email-address``
3. Update the MD5 sums in ``web/qa/trunk/include/rc-md5sums.txt`` (no empty lines).
3. Update ``web/qa/trunk/include/release-qa.php`` with the appropriate information.
See the documentation within release-qa.php for more information, but all releases
and RCs are configured here. Only $QA_RELEASES needs to be edited.
4. Update in ``web/qa/trunk/include/release-qa.php`` constants with the new RC and
commit this.
Example: When rolling an RC, set the 'rc' with appropriate information for the
given version.
a. ``$BUILD_TEST_RELEASES`` = array("4.4.7RC1", "5.2.2RC1")
b. ``$CURRENT_QA_RELEASE_4`` = "4.4.7RC1" (``$CURRENT_QA_RELEASE_5`` for PHP5)
c. ``$RELEASE_PROCESS`` = array(4 => true, 5 => true)
Note: Remember to update the MD5 checksum information.
1. Update in ``php-bugs/trunk/include/functions.inc`` the ``show_version_option``
function to include the new RC and commit.
@@ -244,13 +242,11 @@ number, and remove the RC from there.
11. Update ``qaweb/include/release-qa.php``
a. Update the $BUILD_TEST_RELEASES array with the release name
- Update $QA_RELEASES with the appropriate information, which means bumping
the version number to an upcoming version.
b. Update $RELEASE_PROCESS array (set to false)
I. For PHP4: Set $CURRENT_QA_RELEASE_4 to false
II. For PHP5: Set $CURRENT_QA_RELEASE_5 to false
Example: If PHP 5.3.7 is being released, then PHP 5.3.8 is the next QA version,
so replace 5.3.7 with 5.3.8 within $QA_RELEASES.
Re-releasing the same version (or -pl)
--------------------------------------
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2010, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999-2011, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| This source file is subject to the TSRM license, that is bundled |
| with this package in the file LICENSE |
+----------------------------------------------------------------------+
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Thread Safe Resource Manager |
+----------------------------------------------------------------------+
| Copyright (c) 1999-2010, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| Copyright (c) 1999-2011, Andi Gutmans, Sascha Schumann, Zeev Suraski |
| This source file is subject to the TSRM license, that is bundled |
| with this package in the file LICENSE |
+----------------------------------------------------------------------+
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2011 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-2010 The PHP Group |
| Copyright (c) 1997-2011 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 |
+48 -6
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2011 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 |
@@ -509,6 +509,9 @@ CWD_API char *virtual_getcwd_ex(size_t *length TSRMLS_DC) /* {{{ */
*length = 1;
retval = (char *) malloc(2);
if (retval == NULL) {
return NULL;
}
retval[0] = DEFAULT_SLASH;
retval[1] = '\0';
return retval;
@@ -521,6 +524,9 @@ CWD_API char *virtual_getcwd_ex(size_t *length TSRMLS_DC) /* {{{ */
*length = state->cwd_length+1;
retval = (char *) malloc(*length+1);
if (retval == NULL) {
return NULL;
}
memcpy(retval, state->cwd, *length);
retval[0] = toupper(retval[0]);
retval[*length-1] = DEFAULT_SLASH;
@@ -623,7 +629,14 @@ CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC) /* {{{
memcmp(path, (*bucket)->path, path_len) == 0) {
realpath_cache_bucket *r = *bucket;
*bucket = (*bucket)->next;
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1;
/* if the pointers match then only subtract the length of the path */
if(r->path == r->realpath) {
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1;
} else {
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1;
}
free(r);
return;
} else {
@@ -648,6 +661,10 @@ static inline void realpath_cache_add(const char *path, int path_len, const char
realpath_cache_bucket *bucket = malloc(size);
unsigned long n;
if (bucket == NULL) {
return;
}
#ifdef PHP_WIN32
bucket->key = realpath_cache_key(path, path_len TSRMLS_CC);
#else
@@ -694,7 +711,14 @@ static inline realpath_cache_bucket* realpath_cache_find(const char *path, int p
if (CWDG(realpath_cache_ttl) && (*bucket)->expires < t) {
realpath_cache_bucket *r = *bucket;
*bucket = (*bucket)->next;
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1;
/* if the pointers match then only subtract the length of the path */
if(r->path == r->realpath) {
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1;
} else {
CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1;
}
free(r);
} else if (key == (*bucket)->key && path_len == (*bucket)->path_len &&
memcmp(path, (*bucket)->path, path_len) == 0) {
@@ -866,6 +890,9 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
}
pbuffer = (REPARSE_DATA_BUFFER *)tsrm_do_alloca(MAXIMUM_REPARSE_DATA_BUFFER_SIZE, use_heap_large);
if (pbuffer == NULL) {
return -1;
}
if(!DeviceIoControl(hLink, FSCTL_GET_REPARSE_POINT, NULL, 0, pbuffer, MAXIMUM_REPARSE_DATA_BUFFER_SIZE, &retlength, NULL)) {
tsrm_free_alloca(pbuffer, use_heap_large);
CloseHandle(hLink);
@@ -952,9 +979,9 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
}
if (!isVolume) {
char * tmp = substitutename + substitutename_off;
char * tmp2 = substitutename + substitutename_off;
for(bufindex = 0; bufindex < (substitutename_len - substitutename_off); bufindex++) {
*(path + bufindex) = *(tmp + bufindex);
*(path + bufindex) = *(tmp2 + bufindex);
}
*(path + bufindex) = 0;
@@ -1066,6 +1093,7 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
}
if (is_dir && !directory) {
/* not a directory */
tsrm_free_alloca(tmp, use_heap);
return -1;
}
}
@@ -1370,6 +1398,10 @@ CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC) /* {
/* realpath("") returns CWD */
if (!*path) {
new_state.cwd = (char*)malloc(1);
if (new_state.cwd == NULL) {
retval = NULL;
goto end;
}
new_state.cwd[0] = '\0';
new_state.cwd_length = 0;
if (VCWD_GETCWD(cwd, MAXPATHLEN)) {
@@ -1379,6 +1411,10 @@ CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC) /* {
CWD_STATE_COPY(&new_state, &CWDG(cwd));
} else {
new_state.cwd = (char*)malloc(1);
if (new_state.cwd == NULL) {
retval = NULL;
goto end;
}
new_state.cwd[0] = '\0';
new_state.cwd_length = 0;
}
@@ -1394,7 +1430,7 @@ CWD_API char *virtual_realpath(const char *path, char *real_path TSRMLS_DC) /* {
}
CWD_STATE_FREE(&new_state);
end:
return retval;
}
/* }}} */
@@ -1887,6 +1923,9 @@ CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC) /* {{{
/* realpath("") returns CWD */
if (!*path) {
new_state.cwd = (char*)malloc(1);
if (new_state.cwd == NULL) {
return NULL;
}
new_state.cwd[0] = '\0';
new_state.cwd_length = 0;
if (VCWD_GETCWD(cwd, MAXPATHLEN)) {
@@ -1898,6 +1937,9 @@ CWD_API char *tsrm_realpath(const char *path, char *real_path TSRMLS_DC) /* {{{
new_state.cwd_length = strlen(cwd);
} else {
new_state.cwd = (char*)malloc(1);
if (new_state.cwd == NULL) {
return NULL;
}
new_state.cwd[0] = '\0';
new_state.cwd_length = 0;
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2010 The PHP Group |
| Copyright (c) 1997-2011 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-2010 The PHP Group |
| Copyright (c) 1997-2011 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-2010 The PHP Group |
| Copyright (c) 1997-2011 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 |
+3 -1
View File
@@ -670,7 +670,9 @@ UPGRADE NOTES - PHP 5.3
ReflectionClass::inNamespace()
ReflectionClass::getNamespaceName()
ReflectionClass::getShortName()
- SPL SplObjectStorage::addAll()
- SPL: DirectoryIterator::getExtension()
SplFileInfo::getExtension()
SplObjectStorage::addAll()
SplObjectStorage::removeAll()
- XSL: XSLTProcessor::setProfiling()
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -4,7 +4,7 @@ dnl This file contains local autoconf functions.
AC_DEFUN([LIBZEND_BISON_CHECK],[
# we only support certain bison versions
bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3"
bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3 2.5"
# for standalone build of Zend Engine
test -z "$SED" && SED=sed
+31
View File
@@ -0,0 +1,31 @@
--TEST--
Bug #53629 (memory leak inside highlight_string())
--FILE--
<?php
$str = '
<?php
class foo {
public $bar = <<<EOT
bar
EOT;
}
?>
';
$str2 = '
<?php
var_dump(array(<<<EOD
foobar!
EOD
));
?>
';
highlight_string($str, true);
highlight_string($str2, true);
echo "Done\n";
?>
--EXPECT--
Done
+10
View File
@@ -0,0 +1,10 @@
--TEST--
zend_strtod() hangs with 2.2250738585072011e-308
--FILE--
<?php
$d = 2.2250738585072011e-308;
echo "Done\n";
?>
--EXPECTF--
Done
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #53727 (Inconsistent behavior of is_subclass_of with interfaces)
--FILE--
<?php
interface MyInterface {
const TEST_CONSTANT = true;
}
class ParentClass implements MyInterface { }
class ChildClass extends ParentClass { }
echo (is_subclass_of('ChildClass', 'MyInterface') ? 'true' : 'false') . "\n";
echo (defined('ChildClass::TEST_CONSTANT') ? 'true' : 'false') . "\n";
echo (is_subclass_of('ParentClass', 'MyInterface') ? 'true' : 'false') . "\n";
echo (defined('ParentClass::TEST_CONSTANT') ? 'true' : 'false') . "\n";
--EXPECT--
true
true
true
true
+61
View File
@@ -0,0 +1,61 @@
--TEST--
Bug #53958 (Closures can't 'use' shared variables by value and by reference)
--FILE--
<?php
// TEST 1
$a = 1;
$fn1 = function() use ($a) {echo "$a\n"; $a++;};
$fn2 = function() use ($a) {echo "$a\n"; $a++;};
$a = 5;
$fn1(); // 1
$fn2(); // 1
$fn1(); // 1
$fn2(); // 1
// TEST 2
$b = 1;
$fn1 = function() use (&$b) {echo "$b\n"; $b++;};
$fn2 = function() use (&$b) {echo "$b\n"; $b++;};
$b = 5;
$fn1(); // 5
$fn2(); // 6
$fn1(); // 7
$fn2(); // 8
// TEST 3
$c = 1;
$fn1 = function() use (&$c) {echo "$c\n"; $c++;};
$fn2 = function() use ($c) {echo "$c\n"; $c++;};
$c = 5;
$fn1(); // 5
$fn2(); // 1
$fn1(); // 6
$fn2(); // 1
// TEST 4
$d = 1;
$fn1 = function() use ($d) {echo "$d\n"; $d++;};
$fn2 = function() use (&$d) {echo "$d\n"; $d++;};
$d = 5;
$fn1(); // 1
$fn2(); // 5
$fn1(); // 1
$fn2(); // 6
?>
--EXPECT--
1
1
1
1
5
6
7
8
5
1
6
1
1
5
1
6
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Bug #53971 (isset() and empty() produce apparently spurious runtime error)
--FILE--
<?php
$s = "";
var_dump(isset($s[0][0]));
?>
--EXPECT--
bool(false)
+31
View File
@@ -0,0 +1,31 @@
--TEST--
Bug #54013 (ReflectionParam for duplicate parameter contains garbage)
--FILE--
<?php
class a
{
function b($aaaaaaaa, $aaaaaaaa)
{
$params = func_get_args();
}
}
$c = new a;
$c->b('waa?', 'meukee!');
$reflectionClass = new ReflectionClass($c);
$params = $reflectionClass->getMethod('b')->getParameters();
var_dump($params[0], $params[1]);
?>
--EXPECTF--
object(ReflectionParameter)#%d (1) {
["name"]=>
string(8) "aaaaaaaa"
}
object(ReflectionParameter)#%d (1) {
["name"]=>
string(8) "aaaaaaaa"
}
+58
View File
@@ -0,0 +1,58 @@
--TEST--
Bug #54039 (use() of static variables in lambda functions can break staticness)
--FILE--
<?php
function test_1() {
static $v = 0;
++$v;
echo "Outer function increments \$v to $v\n";
$f = function() use($v) {
echo "Inner function reckons \$v is $v\n";
};
return $f;
}
$f = test_1(); $f();
$f = test_1(); $f();
function test_2() {
static $v = 0;
$f = function() use($v) {
echo "Inner function reckons \$v is $v\n";
};
++$v;
echo "Outer function increments \$v to $v\n";
return $f;
}
$f = test_2(); $f();
$f = test_2(); $f();
function test_3() {
static $v = "";
$v .= 'b';
echo "Outer function catenates 'b' onto \$v to give $v\n";
$f = function() use($v) {
echo "Inner function reckons \$v is $v\n";
};
$v .= 'a';
echo "Outer function catenates 'a' onto \$v to give $v\n";
return $f;
}
$f = test_3(); $f();
$f = test_3(); $f();
--EXPECT--
Outer function increments $v to 1
Inner function reckons $v is 1
Outer function increments $v to 2
Inner function reckons $v is 2
Outer function increments $v to 1
Inner function reckons $v is 0
Outer function increments $v to 2
Inner function reckons $v is 1
Outer function catenates 'b' onto $v to give b
Outer function catenates 'a' onto $v to give ba
Inner function reckons $v is b
Outer function catenates 'b' onto $v to give bab
Outer function catenates 'a' onto $v to give baba
Inner function reckons $v is bab
+17
View File
@@ -0,0 +1,17 @@
--TEST--
Bug #54262 (Crash when assigning value to a dimension in a non-array)
--FILE--
<?php
$a = '0';
var_dump(isset($a['b']));
$simpleString = preg_match('//', '', $a->a);
$simpleString["wrong"] = "f";
echo "ok\n";
?>
--EXPECTF--
bool(true)
Warning: Attempt to modify property of non-object in %s/Zend/tests/bug54262.php on line 4
Warning: Cannot use a scalar value as an array in %s/Zend/tests/bug54262.php on line 5
ok
+17
View File
@@ -0,0 +1,17 @@
--TEST--
Bug #54265 (crash when variable gets reassigned in error handler)
--FILE--
<?php
function my_errorhandler($errno,$errormsg) {
global $my_var;
$my_var = 0;
echo "EROOR: $errormsg\n";
}
set_error_handler("my_errorhandler");
$my_var = str_repeat("A",$my_var[0]->errormsg = "xyz");
echo "ok\n";
?>
--EXPECT--
EROOR: Creating default object from empty value
ok
+35
View File
@@ -0,0 +1,35 @@
--TEST--
Bug #54268 (Double free when destroy_zend_class fails)
--INI--
memory_limit=8M
--SKIPIF--
<?php
$zend_mm_enabled = getenv("USE_ZEND_ALLOC");
if ($zend_mm_enabled === "0") {
die("skip Zend MM disabled");
}
?>
--FILE--
<?php
class DestructableObject
{
public function __destruct()
{
DestructableObject::__destruct();
}
}
class DestructorCreator
{
public function __destruct()
{
$this->test = new DestructableObject;
}
}
class Test
{
public static $mystatic;
}
$x = new Test();
Test::$mystatic = new DestructorCreator();
--EXPECTF--
Fatal error: Allowed memory size of %s bytes exhausted%s(tried to allocate %s bytes) in %s on line %d
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #54305 (Crash in gc_remove_zval_from_buffer)
--FILE--
<?php
class TestClass {
public function methodWithArgs($a, $b) {
}
}
abstract class AbstractClass {
}
$methodWithArgs = new ReflectionMethod('TestClass', 'methodWithArgs');
echo $methodWithArgs++;
?>
--EXPECTF--
Method [ <user> public method methodWithArgs ] {
@@ %sbug54305.php %d - %d
- Parameters [2] {
Parameter #0 [ <required> $a ]
Parameter #1 [ <required> $b ]
}
}
+39
View File
@@ -0,0 +1,39 @@
--TEST--
Bug #54358 (Closure, use and reference)
--FILE--
<?php
class asserter {
public function call($function) {
}
}
$asserter = new asserter();
$closure = function() use ($asserter, &$function) {
$asserter->call($function = 'md5');
};
$closure();
var_dump($function);
$closure = function() use ($asserter, $function) {
$asserter->call($function);
};
$closure();
var_dump($function);
$closure = function() use ($asserter, $function) {
$asserter->call($function);
};
$closure();
var_dump($function);
?>
--EXPECT--
string(3) "md5"
string(3) "md5"
string(3) "md5"
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Bug #54367 (Use of closure causes problem in ArrayAccess)
--FILE--
<?php
class MyObjet implements ArrayAccess
{
public function offsetSet($offset, $value) { }
public function offsetExists($offset) { }
public function offsetUnset($offset) { }
public function offsetGet ($offset)
{
return function ($var) use ($offset) { // here is the problem
var_dump($offset, $var);
};
}
}
$a = new MyObjet();
echo $a['p']('foo');
?>
--EXPECT--
string(1) "p"
string(3) "foo"
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #54372 (Crash accessing global object itself returned from its __get() handle)
--FILE--
<?php
class test_class
{
public function __get($name)
{
return $this;
}
public function b()
{
echo "ok\n";
}
}
global $test3;
$test3 = new test_class();
$test3->a->b();
?>
--EXPECT--
ok
+15
View File
@@ -0,0 +1,15 @@
--TEST--
Bug #54585 (track_errors causes segfault)
--INI--
track_errors=On
--FILE--
<?php
function testing($source) {
unset($source[$cos]);
}
testing($_GET);
echo "ok\n";
?>
--EXPECTF--
Notice: Undefined variable: cos in %sbug54585.php on line 3
ok
+26
View File
@@ -0,0 +1,26 @@
--TEST--
Bug #54624 (class_alias and type hint)
--FILE--
<?php
class A
{
function foo(A $param) {
}
}
class_alias('A', 'AliasA');
eval('
class B extends A
{
function foo(AliasA $param) {
}
}
');
echo "DONE\n";
?>
--EXPECTF--
DONE
+3
View File
@@ -0,0 +1,3 @@
<?php
namespace b\c {}
namespace b\d {}
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Bug #54804 (__halt_compiler and imported namespaces)
--FILE--
<?php
namespace a;
require __DIR__ . '/bug54804.inc';
echo 'DONE';
__halt_compiler();
?>
--EXPECT--
DONE
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug #54910 (Crash when calling call_user_func with unknown function name)
--FILE--
<?php
class A {
public function __call($method, $args) {
if (stripos($method, 'get') === 0) {
return $this->get();
}
die("No such method - '$method'\n");
}
protected function get() {
$class = get_class($this);
$call = array($class, 'noSuchMethod');
if (is_callable($call)) {
call_user_func($call);
}
}
}
class B extends A {}
$input = new B();
echo $input->getEmail();
--EXPECT--
No such method - 'noSuchMethod'
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #55007 (compiler fail after previous fail)
--FILE--
<?php
function __autoload($classname) {
if ('CompileErrorClass'==$classname) eval('class CompileErrorClass { function foo() { $a[] } }');
if ('MyErrorHandler'==$classname) eval('class MyErrorHandler { function __construct() { print "My error handler runs.\n"; } }');
}
function shutdown() {
new MyErrorHandler();
}
register_shutdown_function('shutdown');
new CompileErrorClass();
?>
--EXPECTF--
Fatal error: Cannot use [] for reading in %s(%d) : eval()'d code on line %d
My error handler runs.
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none)
--FILE--
<?php
/** test */
namespace foo {
function test() { }
$x = new \ReflectionFunction('foo\test');
var_dump($x->getDocComment());
/** test1 */
class bar { }
/** test2 */
class foo extends namespace\bar { }
$x = new \ReflectionClass('foo\bar');
var_dump($x->getDocComment());
$x = new \ReflectionClass('foo\foo');
var_dump($x->getDocComment());
}
?>
--EXPECTF--
bool(false)
string(12) "/** test1 */"
string(12) "/** test2 */"
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
concat difffent types
concat different types
--INI--
precision=14
--FILE--
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Persistent case insensetive and user defined constants
Persistent case insensitive and user defined constants
--FILE--
<?php
var_dump(ZEND_THREAD_safe);
+397
View File
@@ -0,0 +1,397 @@
--TEST--
debug_backtrace options
--FILE--
<?php
function backtrace_print($opt = null)
{
if(is_null($opt)) {
print_r(debug_backtrace());
} else {
print_r(debug_backtrace($opt));
}
}
function doit($a, $b, $how)
{
echo "==default\n";
$how();
echo "==true\n";
$how(true);
echo "==false\n";
$how(false);
echo "==DEBUG_BACKTRACE_PROVIDE_OBJECT\n";
$how(DEBUG_BACKTRACE_PROVIDE_OBJECT);
echo "==DEBUG_BACKTRACE_IGNORE_ARGS\n";
$how(DEBUG_BACKTRACE_IGNORE_ARGS);
echo "==both\n";
$how(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS);
}
class foo {
protected function doCall($dowhat, $how)
{
$dowhat('a','b', $how);
}
static function statCall($dowhat, $how)
{
$obj = new self();
$obj->doCall($dowhat, $how);
}
}
foo::statCall("doit", "debug_print_backtrace");
foo::statCall("doit", "backtrace_print");
?>
--EXPECTF--
==default
#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
==true
#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
==false
#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
==DEBUG_BACKTRACE_PROVIDE_OBJECT
#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d]
==DEBUG_BACKTRACE_IGNORE_ARGS
#0 doit() called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall() called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall() called at [%sdebug_backtrace_options.php:%d]
==both
#0 doit() called at [%sdebug_backtrace_options.php:%d]
#1 foo->doCall() called at [%sdebug_backtrace_options.php:%d]
#2 foo::statCall() called at [%sdebug_backtrace_options.php:%d]
==default
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => backtrace_print
[args] => Array
(
)
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
[args] => Array
(
[0] => a
[1] => b
[2] => backtrace_print
)
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[object] => foo Object
(
)
[type] => ->
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
)
==true
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => 17
[function] => backtrace_print
[args] => Array
(
[0] => 1
)
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
[args] => Array
(
[0] => a
[1] => b
[2] => backtrace_print
)
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[object] => foo Object
(
)
[type] => ->
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
)
==false
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => 19
[function] => backtrace_print
[args] => Array
(
[0] =>
)
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
[args] => Array
(
[0] => a
[1] => b
[2] => backtrace_print
)
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[type] => ->
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
)
==DEBUG_BACKTRACE_PROVIDE_OBJECT
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => 21
[function] => backtrace_print
[args] => Array
(
[0] => 1
)
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
[args] => Array
(
[0] => a
[1] => b
[2] => backtrace_print
)
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[object] => foo Object
(
)
[type] => ->
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
[args] => Array
(
[0] => doit
[1] => backtrace_print
)
)
)
==DEBUG_BACKTRACE_IGNORE_ARGS
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => 23
[function] => backtrace_print
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[type] => ->
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
)
)
==both
Array
(
[0] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => 25
[function] => backtrace_print
)
[1] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doit
)
[2] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => doCall
[class] => foo
[object] => foo Object
(
)
[type] => ->
)
[3] => Array
(
[file] => %sdebug_backtrace_options.php
[line] => %d
[function] => statCall
[class] => foo
[type] => ::
)
)
+5 -1
View File
@@ -20,4 +20,8 @@ echo "Done\n";
--EXPECTF--
string(12) "test thrown!"
Fatal error: Exception thrown without a stack frame in Unknown on line 0
Fatal error: Uncaught exception 'Exception' in %sexception_handler_002.php:7
Stack trace:
#0 [internal function]: foo(Object(test))
#1 {main}
thrown in %sexception_handler_002.php on line %d
+9
View File
@@ -0,0 +1,9 @@
--TEST--
Argument parsing error #001
--FILE--
<?php
function foo($arg1 string) {}
?>
--EXPECTF--
Parse error: syntax error, unexpected T_STRING, expecting ')' in %sfunction_arguments_001.php on line %d
+9
View File
@@ -0,0 +1,9 @@
--TEST--
Argument parsing error #002
--FILE--
<?php
function foo($arg1/) {}
?>
--EXPECTF--
Parse error: syntax error, unexpected '/', expecting ')' in %sfunction_arguments_002.php on line %d
+13
View File
@@ -0,0 +1,13 @@
--TEST--
Indirect referenced $this
--FILE--
<?php
class X {
function f($x){var_dump($$x);}
}
$x = new X;
$x->f("this");
?>
--EXPECTF--
object(X)#%d (0) {
}
+1 -1
View File
@@ -38,6 +38,6 @@ bool(true)
bool(false)
bool(false)
bool(true)
bool(false)
bool(true)
AUTOLOAD 'X1'
bool(false)
+3 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -114,7 +114,7 @@ ZEND_API zval zval_used_for_init; /* True global variable */
/* version information */
static char *zend_version_info;
static uint zend_version_info_length;
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2010 Zend Technologies\n"
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2011 Zend Technologies\n"
#define PRINT_ZVAL_INDENT 4
static void print_hash(zend_write_func_t write_func, HashTable *ht, int indent, zend_bool is_object TSRMLS_DC) /* {{{ */
@@ -808,6 +808,7 @@ ZEND_API void _zend_bailout(char *filename, uint lineno) /* {{{ */
exit(-1);
}
CG(unclean_shutdown) = 1;
CG(active_class_entry) = NULL;
CG(in_compilation) = EG(in_execution) = 0;
EG(current_execute_data) = NULL;
LONGJMP(*EG(bailout), FAILURE);
+4 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -771,6 +771,9 @@ ZEND_API void zend_save_error_handling(zend_error_handling *current TSRMLS_DC);
ZEND_API void zend_replace_error_handling(zend_error_handling_t error_handling, zend_class_entry *exception_class, zend_error_handling *current TSRMLS_DC);
ZEND_API void zend_restore_error_handling(zend_error_handling *saved TSRMLS_DC);
#define DEBUG_BACKTRACE_PROVIDE_OBJECT (1<<0)
#define DEBUG_BACKTRACE_IGNORE_ARGS (1<<1)
#endif /* ZEND_H */
/*
+24 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -928,7 +928,7 @@ ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args TSRMLS_DC,
va_end(va);
} else {
p++;
RETURN_IF_ZERO_ARGS(num_args-1, p, quiet);
RETURN_IF_ZERO_ARGS(num_args, p, quiet);
va_start(va, type_spec);
@@ -2082,6 +2082,22 @@ ZEND_API int zend_get_module_started(const char *module_name) /* {{{ */
}
/* }}} */
static int clean_module_class(const zend_class_entry **ce, int *module_number TSRMLS_DC) /* {{{ */
{
if ((*ce)->type == ZEND_INTERNAL_CLASS && (*ce)->module->module_number == *module_number) {
return ZEND_HASH_APPLY_REMOVE;
} else {
return ZEND_HASH_APPLY_KEEP;
}
}
/* }}} */
static void clean_module_classes(int module_number TSRMLS_DC) /* {{{ */
{
zend_hash_apply_with_argument(EG(class_table), (apply_func_arg_t) clean_module_class, (void *) &module_number TSRMLS_CC);
}
/* }}} */
void module_destructor(zend_module_entry *module) /* {{{ */
{
TSRMLS_FETCH();
@@ -2089,6 +2105,7 @@ void module_destructor(zend_module_entry *module) /* {{{ */
if (module->type == MODULE_TEMPORARY) {
zend_clean_module_rsrc_dtors(module->module_number TSRMLS_CC);
clean_module_constants(module->module_number TSRMLS_CC);
clean_module_classes(module->module_number TSRMLS_CC);
}
if (module->module_started && module->module_shutdown_func) {
@@ -2573,6 +2590,11 @@ get_function_via_handler:
if (fcc->function_handler) {
retval = 1;
call_via_handler = (fcc->function_handler->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) != 0;
if (call_via_handler && !fcc->object_ptr && EG(This) &&
Z_OBJ_HT_P(EG(This))->get_class_entry &&
instanceof_function(Z_OBJCE_P(EG(This)), fcc->calling_scope TSRMLS_CC)) {
fcc->object_ptr = EG(This);
}
}
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+12 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -241,6 +241,10 @@ static zend_mm_storage* zend_mm_mem_win32_init(void *params)
return NULL;
}
storage = (zend_mm_storage*)malloc(sizeof(zend_mm_storage));
if (storage == NULL) {
HeapDestroy(heap);
return NULL;
}
storage->data = (void*) heap;
return storage;
}
@@ -1066,7 +1070,13 @@ ZEND_API zend_mm_heap *zend_mm_startup_ex(const zend_mm_mem_handlers *handlers,
storage->handlers = handlers;
heap = malloc(sizeof(struct _zend_mm_heap));
if (heap == NULL) {
fprintf(stderr, "Cannot allocate heap for zend_mm storage [%s]\n", handlers->name);
#ifdef PHP_WIN32
fflush(stderr);
#endif
exit(255);
}
heap->storage = storage;
heap->block_size = block_size;
heap->compact_size = 0;
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+21 -39
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -211,7 +211,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_get_defined_constants, 0, 0, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_debug_backtrace, 0, 0, 0)
ZEND_ARG_INFO(0, provide_object)
ZEND_ARG_INFO(0, options)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_extension_loaded, 0, 0, 1)
@@ -272,7 +272,7 @@ static const zend_function_entry builtin_functions[] = { /* {{{ */
ZEND_FE(get_extension_funcs, arginfo_extension_loaded)
ZEND_FE(get_defined_constants, arginfo_get_defined_constants)
ZEND_FE(debug_backtrace, arginfo_debug_backtrace)
ZEND_FE(debug_print_backtrace, arginfo_zend__void)
ZEND_FE(debug_print_backtrace, arginfo_debug_backtrace)
#if ZEND_DEBUG
ZEND_FE(zend_test_func, NULL)
#ifdef ZTS
@@ -822,45 +822,25 @@ static void is_a_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool only_subclass)
return;
}
if (only_subclass && Z_TYPE_P(obj) == IS_STRING) {
if (Z_TYPE_P(obj) == IS_STRING) {
zend_class_entry **the_ce;
if (zend_lookup_class(Z_STRVAL_P(obj), Z_STRLEN_P(obj), &the_ce TSRMLS_CC) == FAILURE) {
zend_error(E_WARNING, "Unknown class passed as parameter");
RETURN_FALSE;
}
instance_ce = *the_ce;
} else if (Z_TYPE_P(obj) != IS_OBJECT) {
RETURN_FALSE;
} else if (Z_TYPE_P(obj) == IS_OBJECT && HAS_CLASS_ENTRY(*obj)) {
instance_ce = Z_OBJCE_P(obj);
} else {
instance_ce = NULL;
}
/* TBI!! new object handlers */
if (Z_TYPE_P(obj) == IS_OBJECT && !HAS_CLASS_ENTRY(*obj)) {
RETURN_FALSE;
}
if (zend_lookup_class_ex(class_name, class_name_len, 0, &ce TSRMLS_CC) == FAILURE) {
retval = 0;
} else {
if (only_subclass) {
if (!instance_ce) {
instance_ce = Z_OBJCE_P(obj)->parent;
} else {
instance_ce = instance_ce->parent;
}
} else {
instance_ce = Z_OBJCE_P(obj);
}
if (!instance_ce) {
RETURN_FALSE;
}
if (instanceof_function(instance_ce, *ce TSRMLS_CC)) {
retval = 1;
} else {
if (only_subclass && instance_ce == *ce) {
retval = 0;
} else {
retval = instanceof_function(instance_ce, *ce TSRMLS_CC);
}
}
@@ -1944,7 +1924,7 @@ void debug_print_backtrace_args(zval *arg_array TSRMLS_DC)
}
}
/* {{{ proto void debug_print_backtrace(void) */
/* {{{ proto void debug_print_backtrace([int options]) */
ZEND_FUNCTION(debug_print_backtrace)
{
zend_execute_data *ptr, *skip;
@@ -1956,8 +1936,9 @@ ZEND_FUNCTION(debug_print_backtrace)
char *include_filename = NULL;
zval *arg_array = NULL;
int indent = 0;
long options = 0;
if (zend_parse_parameters_none() == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &options) == FAILURE) {
return;
}
@@ -2016,7 +1997,7 @@ ZEND_FUNCTION(debug_print_backtrace)
call_type = NULL;
}
if ((! ptr->opline) || ((ptr->opline->opcode == ZEND_DO_FCALL_BY_NAME) || (ptr->opline->opcode == ZEND_DO_FCALL))) {
if (ptr->function_state.arguments) {
if (ptr->function_state.arguments && (options & DEBUG_BACKTRACE_IGNORE_ARGS) == 0) {
arg_array = debug_backtrace_get_args(ptr->function_state.arguments TSRMLS_CC);
}
}
@@ -2103,7 +2084,7 @@ ZEND_FUNCTION(debug_print_backtrace)
/* }}} */
ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int provide_object TSRMLS_DC)
ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int options TSRMLS_DC)
{
zend_execute_data *ptr, *skip;
int lineno;
@@ -2187,7 +2168,7 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int
add_assoc_string_ex(stack_frame, "class", sizeof("class"), class_name, dup);
}
if (provide_object) {
if ((options & DEBUG_BACKTRACE_PROVIDE_OBJECT) != 0) {
add_assoc_zval_ex(stack_frame, "object", sizeof("object"), ptr->object);
Z_ADDREF_P(ptr->object);
}
@@ -2198,7 +2179,8 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int
add_assoc_string_ex(stack_frame, "type", sizeof("type"), "::", 1);
}
if ((! ptr->opline) || ((ptr->opline->opcode == ZEND_DO_FCALL_BY_NAME) || (ptr->opline->opcode == ZEND_DO_FCALL))) {
if ((options & DEBUG_BACKTRACE_IGNORE_ARGS) == 0 &&
((! ptr->opline) || ((ptr->opline->opcode == ZEND_DO_FCALL_BY_NAME) || (ptr->opline->opcode == ZEND_DO_FCALL)))) {
if (ptr->function_state.arguments) {
add_assoc_zval_ex(stack_frame, "args", sizeof("args"), debug_backtrace_get_args(ptr->function_state.arguments TSRMLS_CC));
}
@@ -2264,17 +2246,17 @@ ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int
/* }}} */
/* {{{ proto array debug_backtrace([bool provide_object])
/* {{{ proto array debug_backtrace([int options])
Return backtrace as array */
ZEND_FUNCTION(debug_backtrace)
{
zend_bool provide_object = 1;
long options = DEBUG_BACKTRACE_PROVIDE_OBJECT;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &provide_object) == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &options) == FAILURE) {
return;
}
zend_fetch_debug_backtrace(return_value, 1, provide_object TSRMLS_CC);
zend_fetch_debug_backtrace(return_value, 1, options TSRMLS_CC);
}
/* }}} */
+2 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -25,7 +25,7 @@
int zend_startup_builtin_functions(TSRMLS_D);
BEGIN_EXTERN_C()
ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int provide_object TSRMLS_DC);
ZEND_API void zend_fetch_debug_backtrace(zval *return_value, int skip_last, int options TSRMLS_DC);
END_EXTERN_C()
#endif /* ZEND_BUILTIN_FUNCTIONS_H */
+16 -7
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -323,6 +323,7 @@ static int zval_copy_static_var(zval **p TSRMLS_DC, int num_args, va_list args,
{
HashTable *target = va_arg(args, HashTable*);
zend_bool is_ref;
zval *tmp;
if (Z_TYPE_PP(p) & (IS_LEXICAL_VAR|IS_LEXICAL_REF)) {
is_ref = Z_TYPE_PP(p) & IS_LEXICAL_REF;
@@ -332,25 +333,32 @@ static int zval_copy_static_var(zval **p TSRMLS_DC, int num_args, va_list args,
}
if (zend_hash_quick_find(EG(active_symbol_table), key->arKey, key->nKeyLength, key->h, (void **) &p) == FAILURE) {
if (is_ref) {
zval *tmp;
ALLOC_INIT_ZVAL(tmp);
Z_SET_ISREF_P(tmp);
zend_hash_quick_add(EG(active_symbol_table), key->arKey, key->nKeyLength, key->h, &tmp, sizeof(zval*), (void**)&p);
} else {
p = &EG(uninitialized_zval_ptr);
tmp = EG(uninitialized_zval_ptr);
zend_error(E_NOTICE,"Undefined variable: %s", key->arKey);
}
} else {
if (is_ref) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(p);
tmp = *p;
} else if (Z_ISREF_PP(p)) {
SEPARATE_ZVAL(p);
ALLOC_INIT_ZVAL(tmp);
*tmp = **p;
zval_copy_ctor(tmp);
Z_SET_REFCOUNT_P(tmp, 0);
Z_UNSET_ISREF_P(tmp);
} else {
tmp = *p;
}
}
} else {
tmp = *p;
}
if (zend_hash_quick_add(target, key->arKey, key->nKeyLength, key->h, p, sizeof(zval*), NULL) == SUCCESS) {
Z_ADDREF_PP(p);
if (zend_hash_quick_add(target, key->arKey, key->nKeyLength, key->h, &tmp, sizeof(zval*), NULL) == SUCCESS) {
Z_ADDREF_P(tmp);
}
return ZEND_HASH_APPLY_KEEP;
}
@@ -365,6 +373,7 @@ ZEND_API void zend_create_closure(zval *res, zend_function *func TSRMLS_DC) /* {
closure = (zend_closure *)zend_object_store_get_object(res TSRMLS_CC);
closure->func = *func;
closure->func.common.prototype = NULL;
if (closure->func.type == ZEND_USER_FUNCTION) {
if (closure->func.op_array.static_variables) {
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+89 -63
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -387,6 +387,7 @@ void fetch_simple_variable_ex(znode *result, znode *varname, int bp, zend_uchar
result->op_type = IS_CV;
result->u.var = lookup_cv(CG(active_op_array), varname->u.constant.value.str.val, varname->u.constant.value.str.len);
result->u.EA.type = 0;
varname->u.constant.value.str.val = CG(active_op_array)->vars[result->u.var].name;
return;
}
}
@@ -625,7 +626,7 @@ void zend_do_assign(znode *result, znode *variable, const znode *value TSRMLS_DC
if (variable->op_type == IS_CV) {
if (variable->u.var == CG(active_op_array)->this_var) {
zend_error(E_COMPILE_ERROR, "Cannot re-assign $this");
}
}
} else if (variable->op_type == IS_VAR) {
int n = 0;
@@ -705,7 +706,7 @@ void zend_do_assign_ref(znode *result, const znode *lvar, const znode *rvar TSRM
if (lvar->op_type == IS_CV) {
if (lvar->u.var == CG(active_op_array)->this_var) {
zend_error(E_COMPILE_ERROR, "Cannot re-assign $this");
}
}
} else if (lvar->op_type == IS_VAR) {
int last_op_number = get_next_op_number(CG(active_op_array));
@@ -1008,7 +1009,7 @@ void zend_do_end_variable_parse(znode *variable, int type, int arg_offset TSRMLS
variable->op_type = IS_CV;
variable->u.var = CG(active_op_array)->this_var;
}
} else if (CG(active_op_array)->this_var == -1) {
} else if (CG(active_op_array)->this_var == -1) {
CG(active_op_array)->this_var = lookup_cv(CG(active_op_array), estrndup("this", sizeof("this")-1), sizeof("this")-1);
}
}
@@ -1894,14 +1895,14 @@ void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2
long current, distance;
if (CG(labels) == NULL ||
zend_hash_find(CG(labels), Z_STRVAL(opline->op2.u.constant), Z_STRLEN(opline->op2.u.constant)+1, (void**)&dest) == FAILURE) {
zend_hash_find(CG(labels), Z_STRVAL(opline->op2.u.constant), Z_STRLEN(opline->op2.u.constant)+1, (void**)&dest) == FAILURE) {
if (pass2) {
CG(in_compilation) = 1;
CG(active_op_array) = op_array;
CG(zend_lineno) = opline->lineno;
if (pass2) {
CG(in_compilation) = 1;
CG(active_op_array) = op_array;
CG(zend_lineno) = opline->lineno;
zend_error(E_COMPILE_ERROR, "'goto' to undefined label '%s'", Z_STRVAL(opline->op2.u.constant));
} else {
} else {
/* Label is not defined. Delay to pass 2. */
INC_BPC(op_array);
return;
@@ -1915,11 +1916,11 @@ void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2
current = opline->extended_value;
for (distance = 0; current != dest->brk_cont; distance++) {
if (current == -1) {
if (pass2) {
CG(in_compilation) = 1;
CG(active_op_array) = op_array;
CG(zend_lineno) = opline->lineno;
}
if (pass2) {
CG(in_compilation) = 1;
CG(active_op_array) = op_array;
CG(zend_lineno) = opline->lineno;
}
zend_error(E_COMPILE_ERROR, "'goto' into loop or switch statement is disallowed");
}
current = op_array->brk_cont_array[current].parent;
@@ -1935,9 +1936,9 @@ void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline, int pass2
ZVAL_LONG(&opline->op2.u.constant, distance);
}
if (pass2) {
if (pass2) {
DEC_BPC(op_array);
}
}
}
/* }}} */
@@ -2009,7 +2010,7 @@ int zend_do_begin_class_member_function_call(znode *class_name, znode *method_na
if (method_name->op_type == IS_CONST) {
char *lcname = zend_str_tolower_dup(Z_STRVAL(method_name->u.constant), Z_STRLEN(method_name->u.constant));
if ((sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) == Z_STRLEN(method_name->u.constant) &&
memcmp(lcname, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) == 0) {
memcmp(lcname, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1) == 0) {
zval_dtor(&method_name->u.constant);
SET_UNUSED(*method_name);
}
@@ -2017,7 +2018,7 @@ int zend_do_begin_class_member_function_call(znode *class_name, znode *method_na
}
if (class_name->op_type == IS_CONST &&
ZEND_FETCH_CLASS_DEFAULT == zend_get_class_fetch_type(Z_STRVAL(class_name->u.constant), Z_STRLEN(class_name->u.constant))) {
ZEND_FETCH_CLASS_DEFAULT == zend_get_class_fetch_type(Z_STRVAL(class_name->u.constant), Z_STRLEN(class_name->u.constant))) {
fetch_type = ZEND_FETCH_CLASS_GLOBAL;
zend_resolve_class_name(class_name, &fetch_type, 1 TSRMLS_CC);
class_node = *class_name;
@@ -2080,9 +2081,9 @@ void zend_do_pass_param(znode *param, zend_uchar op, int offset TSRMLS_DC) /* {{
if (original_op == ZEND_SEND_REF && !CG(allow_call_time_pass_reference)) {
if (function_ptr &&
function_ptr->common.function_name &&
function_ptr->common.type == ZEND_USER_FUNCTION &&
!ARG_SHOULD_BE_SENT_BY_REF(function_ptr, (zend_uint) offset)) {
function_ptr->common.function_name &&
function_ptr->common.type == ZEND_USER_FUNCTION &&
!ARG_SHOULD_BE_SENT_BY_REF(function_ptr, (zend_uint) offset)) {
zend_error(E_DEPRECATED,
"Call-time pass-by-reference has been deprecated; "
"If you would like to pass it by reference, modify the declaration of %s(). "
@@ -2528,7 +2529,7 @@ static void do_inherit_method(zend_function *function) /* {{{ */
}
/* }}} */
static zend_bool zend_do_perform_implementation_check(const zend_function *fe, const zend_function *proto) /* {{{ */
static zend_bool zend_do_perform_implementation_check(const zend_function *fe, const zend_function *proto TSRMLS_DC) /* {{{ */
{
zend_uint i;
@@ -2571,11 +2572,24 @@ static zend_bool zend_do_perform_implementation_check(const zend_function *fe, c
&& strcasecmp(fe->common.arg_info[i].class_name, proto->common.arg_info[i].class_name)!=0) {
char *colon;
if (fe->common.type != ZEND_USER_FUNCTION ||
strchr(proto->common.arg_info[i].class_name, '\\') != NULL ||
if (fe->common.type != ZEND_USER_FUNCTION) {
return 0;
} else if (strchr(proto->common.arg_info[i].class_name, '\\') != NULL ||
(colon = zend_memrchr(fe->common.arg_info[i].class_name, '\\', fe->common.arg_info[i].class_name_len)) == NULL ||
strcasecmp(colon+1, proto->common.arg_info[i].class_name) != 0) {
return 0;
zend_class_entry **fe_ce, **proto_ce;
int found, found2;
found = zend_lookup_class(fe->common.arg_info[i].class_name, fe->common.arg_info[i].class_name_len, &fe_ce TSRMLS_CC);
found2 = zend_lookup_class(proto->common.arg_info[i].class_name, proto->common.arg_info[i].class_name_len, &proto_ce TSRMLS_CC);
/* Check for class alias */
if (found != SUCCESS || found2 != SUCCESS ||
(*fe_ce)->type == ZEND_INTERNAL_CLASS ||
(*proto_ce)->type == ZEND_INTERNAL_CLASS ||
*fe_ce != *proto_ce) {
return 0;
}
}
}
if (fe->common.arg_info[i].array_type_hint != proto->common.arg_info[i].array_type_hint) {
@@ -2667,11 +2681,11 @@ static zend_bool do_inherit_method_check(HashTable *child_function_table, zend_f
}
if (child->common.prototype && (child->common.prototype->common.fn_flags & ZEND_ACC_ABSTRACT)) {
if (!zend_do_perform_implementation_check(child, child->common.prototype)) {
if (!zend_do_perform_implementation_check(child, child->common.prototype TSRMLS_CC)) {
zend_error(E_COMPILE_ERROR, "Declaration of %s::%s() must be compatible with that of %s::%s()", ZEND_FN_SCOPE_NAME(child), child->common.function_name, ZEND_FN_SCOPE_NAME(child->common.prototype), child->common.prototype->common.function_name);
}
} else if (EG(error_reporting) & E_STRICT || EG(user_error_handler)) { /* Check E_STRICT (or custom error handler) before the check so that we save some time */
if (!zend_do_perform_implementation_check(child, parent)) {
if (!zend_do_perform_implementation_check(child, parent TSRMLS_CC)) {
zend_error(E_STRICT, "Declaration of %s::%s() should be compatible with that of %s::%s()", ZEND_FN_SCOPE_NAME(child), child->common.function_name, ZEND_FN_SCOPE_NAME(parent), parent->common.function_name);
}
}
@@ -3059,9 +3073,9 @@ void zend_do_early_binding(TSRMLS_D) /* {{{ */
zend_class_entry **pce;
if ((zend_lookup_class(Z_STRVAL_P(parent_name), Z_STRLEN_P(parent_name), &pce TSRMLS_CC) == FAILURE) ||
((CG(compiler_options) & ZEND_COMPILE_IGNORE_INTERNAL_CLASSES) &&
((*pce)->type == ZEND_INTERNAL_CLASS))) {
if (CG(compiler_options) & ZEND_COMPILE_DELAYED_BINDING) {
((CG(compiler_options) & ZEND_COMPILE_IGNORE_INTERNAL_CLASSES) &&
((*pce)->type == ZEND_INTERNAL_CLASS))) {
if (CG(compiler_options) & ZEND_COMPILE_DELAYED_BINDING) {
zend_uint *opline_num = &CG(active_op_array)->early_binding;
while (*opline_num != -1) {
@@ -3391,7 +3405,7 @@ void zend_do_begin_class_declaration(const znode *class_token, znode *class_name
/* Class name must not conflict with import names */
if (CG(current_import) &&
zend_hash_find(CG(current_import), lcname, Z_STRLEN(class_name->u.constant)+1, (void**)&ns_name) == SUCCESS) {
zend_hash_find(CG(current_import), lcname, Z_STRLEN(class_name->u.constant)+1, (void**)&ns_name) == SUCCESS) {
error = 1;
}
@@ -3626,7 +3640,7 @@ void zend_do_declare_property(const znode *var_name, const znode *value, zend_ui
if (access_type & ZEND_ACC_FINAL) {
zend_error(E_COMPILE_ERROR, "Cannot declare property %s::$%s final, the final modifier is allowed only for methods and classes",
CG(active_class_entry)->name, var_name->u.constant.value.str.val);
CG(active_class_entry)->name, var_name->u.constant.value.str.val);
}
if (zend_hash_find(&CG(active_class_entry)->properties_info, var_name->u.constant.value.str.val, var_name->u.constant.value.str.len+1, (void **) &existing_property_info)==SUCCESS) {
@@ -3689,8 +3703,8 @@ void zend_do_fetch_property(znode *result, znode *object, const znode *property
if (object->op_type == IS_CV) {
if (object->u.var == CG(active_op_array)->this_var) {
SET_UNUSED(*object); /* this means $this for objects */
}
SET_UNUSED(*object); /* this means $this for objects */
}
} else if (fetch_list_ptr->count == 1) {
zend_llist_element *le = fetch_list_ptr->head;
zend_op *opline_ptr = (zend_op *) le->data;
@@ -3748,6 +3762,10 @@ void zend_do_halt_compiler_register(TSRMLS_D) /* {{{ */
zend_mangle_property_name(&name, &len, haltoff, sizeof(haltoff) - 1, cfilename, clen, 0);
zend_register_long_constant(name, len+1, zend_get_scanned_file_offset(TSRMLS_C), CONST_CS, 0 TSRMLS_CC);
pefree(name, 0);
if (CG(in_namespace)) {
zend_do_end_namespace(TSRMLS_C);
}
}
/* }}} */
@@ -3865,10 +3883,10 @@ static zend_constant* zend_get_ct_const(const zval *const_name, int all_internal
return c;
}
if (all_internal_constants_substitution &&
(c->flags & CONST_PERSISTENT) &&
!(CG(compiler_options) & ZEND_COMPILE_NO_CONSTANT_SUBSTITUTION) &&
Z_TYPE(c->value) != IS_CONSTANT &&
Z_TYPE(c->value) != IS_CONSTANT_ARRAY) {
(c->flags & CONST_PERSISTENT) &&
!(CG(compiler_options) & ZEND_COMPILE_NO_CONSTANT_SUBSTITUTION) &&
Z_TYPE(c->value) != IS_CONSTANT &&
Z_TYPE(c->value) != IS_CONSTANT_ARRAY) {
return c;
}
return NULL;
@@ -4261,7 +4279,7 @@ void zend_do_fetch_lexical_variable(znode *varname, zend_bool is_ref TSRMLS_DC)
znode value;
if (Z_STRLEN(varname->u.constant) == sizeof("this") - 1 &&
memcmp(Z_STRVAL(varname->u.constant), "this", sizeof("this") - 1) == 0) {
memcmp(Z_STRVAL(varname->u.constant), "this", sizeof("this") - 1) == 0) {
zend_error(E_COMPILE_ERROR, "Cannot use $this as lexical variable");
return;
}
@@ -4351,6 +4369,10 @@ void zend_do_indirect_references(znode *result, const znode *num_references, zno
}
zend_do_begin_variable_parse(TSRMLS_C);
fetch_simple_variable(result, variable, 1 TSRMLS_CC);
/* there is a chance someone is accessing $this */
if (CG(active_op_array)->scope && CG(active_op_array)->this_var == -1) {
CG(active_op_array)->this_var = lookup_cv(CG(active_op_array), estrndup("this", sizeof("this")-1), sizeof("this")-1);
}
}
/* }}} */
@@ -4471,7 +4493,7 @@ void zend_do_foreach_begin(znode *foreach_token, znode *open_brackets_token, zno
open_brackets_token->u.opline_num = get_next_op_number(CG(active_op_array));
zend_do_end_variable_parse(array, BP_VAR_W, 0 TSRMLS_CC);
if (CG(active_op_array)->last > 0 &&
CG(active_op_array)->opcodes[CG(active_op_array)->last-1].opcode == ZEND_FETCH_OBJ_W) {
CG(active_op_array)->opcodes[CG(active_op_array)->last-1].opcode == ZEND_FETCH_OBJ_W) {
/* Only lock the container if we are fetching from a real container and not $this */
if (CG(active_op_array)->opcodes[CG(active_op_array)->last-1].op1.op_type == IS_VAR) {
CG(active_op_array)->opcodes[CG(active_op_array)->last-1].extended_value |= ZEND_FETCH_ADD_LOCK;
@@ -4658,8 +4680,8 @@ void zend_do_declare_stmt(znode *var, znode *val TSRMLS_DC) /* {{{ */
int num = CG(active_op_array)->last;
/* ignore ZEND_EXT_STMT and ZEND_TICKS */
while (num > 0 &&
(CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT ||
CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) {
(CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT ||
CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) {
--num;
}
@@ -4892,14 +4914,12 @@ void zend_do_extended_fcall_end(TSRMLS_D) /* {{{ */
void zend_do_ticks(TSRMLS_D) /* {{{ */
{
if (Z_LVAL(CG(declarables).ticks)) {
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
opline->opcode = ZEND_TICKS;
opline->op1.u.constant = CG(declarables).ticks;
opline->op1.op_type = IS_CONST;
SET_UNUSED(opline->op2);
}
opline->opcode = ZEND_TICKS;
opline->op1.u.constant = CG(declarables).ticks;
opline->op1.op_type = IS_CONST;
SET_UNUSED(opline->op2);
}
/* }}} */
@@ -5073,7 +5093,7 @@ void zend_do_build_namespace_name(znode *result, znode *prefix, znode *name TSRM
if (prefix) {
*result = *prefix;
if (Z_TYPE(result->u.constant) == IS_STRING &&
Z_STRLEN(result->u.constant) == 0) {
Z_STRLEN(result->u.constant) == 0) {
/* namespace\ */
if (CG(current_namespace)) {
znode tmp;
@@ -5121,8 +5141,8 @@ void zend_do_begin_namespace(const znode *name, zend_bool with_bracket TSRMLS_DC
/* ignore ZEND_EXT_STMT and ZEND_TICKS */
int num = CG(active_op_array)->last;
while (num > 0 &&
(CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT ||
CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) {
(CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT ||
CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) {
--num;
}
if (num > 0) {
@@ -5138,9 +5158,9 @@ void zend_do_begin_namespace(const znode *name, zend_bool with_bracket TSRMLS_DC
if (name) {
lcname = zend_str_tolower_dup(Z_STRVAL(name->u.constant), Z_STRLEN(name->u.constant));
if (((Z_STRLEN(name->u.constant) == sizeof("self")-1) &&
!memcmp(lcname, "self", sizeof("self")-1)) ||
((Z_STRLEN(name->u.constant) == sizeof("parent")-1) &&
!memcmp(lcname, "parent", sizeof("parent")-1))) {
!memcmp(lcname, "self", sizeof("self")-1)) ||
((Z_STRLEN(name->u.constant) == sizeof("parent")-1) &&
!memcmp(lcname, "parent", sizeof("parent")-1))) {
zend_error(E_COMPILE_ERROR, "Cannot use '%s' as namespace name", Z_STRVAL(name->u.constant));
}
efree(lcname);
@@ -5202,9 +5222,9 @@ void zend_do_use(znode *ns_name, znode *new_name, int is_global TSRMLS_DC) /* {{
lcname = zend_str_tolower_dup(Z_STRVAL_P(name), Z_STRLEN_P(name));
if (((Z_STRLEN_P(name) == sizeof("self")-1) &&
!memcmp(lcname, "self", sizeof("self")-1)) ||
((Z_STRLEN_P(name) == sizeof("parent")-1) &&
!memcmp(lcname, "parent", sizeof("parent")-1))) {
!memcmp(lcname, "self", sizeof("self")-1)) ||
((Z_STRLEN_P(name) == sizeof("parent")-1) &&
!memcmp(lcname, "parent", sizeof("parent")-1))) {
zend_error(E_COMPILE_ERROR, "Cannot use %s as %s because '%s' is a special class name", Z_STRVAL_P(ns), Z_STRVAL_P(name), Z_STRVAL_P(name));
}
@@ -5216,13 +5236,13 @@ void zend_do_use(znode *ns_name, znode *new_name, int is_global TSRMLS_DC) /* {{
c_ns_name[Z_STRLEN_P(CG(current_namespace))] = '\\';
memcpy(c_ns_name+Z_STRLEN_P(CG(current_namespace))+1, lcname, Z_STRLEN_P(name)+1);
if (zend_hash_exists(CG(class_table), c_ns_name, Z_STRLEN_P(CG(current_namespace)) + 1 + Z_STRLEN_P(name)+1)) {
char *tmp = zend_str_tolower_dup(Z_STRVAL_P(ns), Z_STRLEN_P(ns));
char *tmp2 = zend_str_tolower_dup(Z_STRVAL_P(ns), Z_STRLEN_P(ns));
if (Z_STRLEN_P(ns) != Z_STRLEN_P(CG(current_namespace)) + 1 + Z_STRLEN_P(name) ||
memcmp(tmp, c_ns_name, Z_STRLEN_P(ns))) {
memcmp(tmp2, c_ns_name, Z_STRLEN_P(ns))) {
zend_error(E_COMPILE_ERROR, "Cannot use %s as %s because the name is already in use", Z_STRVAL_P(ns), Z_STRVAL_P(name));
}
efree(tmp);
efree(tmp2);
}
efree(c_ns_name);
} else if (zend_hash_find(CG(class_table), lcname, Z_STRLEN_P(name)+1, (void**)&pce) == SUCCESS &&
@@ -5300,6 +5320,12 @@ void zend_do_end_namespace(TSRMLS_D) /* {{{ */
efree(CG(current_import));
CG(current_import) = NULL;
}
if (CG(doc_comment)) {
efree(CG(doc_comment));
CG(doc_comment) = NULL;
CG(doc_comment_len) = 0;
}
}
/* }}} */
@@ -5348,7 +5374,7 @@ ZEND_API size_t zend_dirname(char *path, size_t len)
if (len_adjust == len) {
return len;
}
}
}
#endif
if (len == 0) {
+2 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -39,6 +39,7 @@
#define INC_BPC(op_array) if (op_array->fn_flags & ZEND_ACC_INTERACTIVE) { ((op_array)->backpatch_count++); }
#define DEC_BPC(op_array) if (op_array->fn_flags & ZEND_ACC_INTERACTIVE) { ((op_array)->backpatch_count--); }
#define HANDLE_INTERACTIVE() if (CG(active_op_array)->fn_flags & ZEND_ACC_INTERACTIVE) { execute_new_code(TSRMLS_C); }
#define DO_TICKS() if (Z_LVAL(CG(declarables).ticks)) { zend_do_ticks(TSRMLS_C); }
#define RESET_DOC_COMMENT() \
{ \
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+3 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -113,6 +113,8 @@ void zend_register_standard_constants(TSRMLS_D)
REGISTER_MAIN_LONG_CONSTANT("E_ALL", E_ALL, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("DEBUG_BACKTRACE_PROVIDE_OBJECT", DEBUG_BACKTRACE_PROVIDE_OBJECT, CONST_PERSISTENT | CONST_CS);
REGISTER_MAIN_LONG_CONSTANT("DEBUG_BACKTRACE_IGNORE_ARGS", DEBUG_BACKTRACE_IGNORE_ARGS, CONST_PERSISTENT | CONST_CS);
/* true/false constants */
{
zend_constant c;
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+4 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -91,6 +91,9 @@ void zend_throw_exception_internal(zval *exception TSRMLS_DC) /* {{{ */
}
}
if (!EG(current_execute_data)) {
if(EG(exception)) {
zend_exception_error(EG(exception), E_ERROR TSRMLS_CC);
}
zend_error(E_ERROR, "Exception thrown without a stack frame");
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+16 -4
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -536,10 +536,22 @@ static inline void zend_assign_to_object(znode *result, zval **object_ptr, zval
(Z_TYPE_P(object) == IS_BOOL && Z_LVAL_P(object) == 0) ||
(Z_TYPE_P(object) == IS_STRING && Z_STRLEN_P(object) == 0)) {
SEPARATE_ZVAL_IF_NOT_REF(object_ptr);
zval_dtor(*object_ptr);
object_init(*object_ptr);
object = *object_ptr;
Z_ADDREF_P(object);
zend_error(E_STRICT, "Creating default object from empty value");
if (Z_REFCOUNT_P(object) == 1) {
/* object was removed by error handler, nothing to assign to */
zval_ptr_dtor(&object);
if (retval) {
*retval = &EG(uninitialized_zval);
PZVAL_LOCK(*retval);
}
FREE_OP(free_value);
return;
}
Z_DELREF_P(object);
zval_dtor(object);
object_init(object);
} else {
zend_error(E_WARNING, "Attempt to assign property of non-object");
if (!RETURN_VALUE_UNUSED(result)) {
@@ -1067,7 +1079,7 @@ static void zend_fetch_dimension_address_read(temp_variable *result, zval **cont
dim = &tmp;
}
if (result) {
if (Z_LVAL_P(dim) < 0 || Z_STRLEN_P(container) <= Z_LVAL_P(dim)) {
if ((Z_LVAL_P(dim) < 0 || Z_STRLEN_P(container) <= Z_LVAL_P(dim)) && type != BP_VAR_IS) {
zend_error(E_NOTICE, "Uninitialized string offset: %ld", Z_LVAL_P(dim));
}
result->str_offset.str = container;
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+14 -10
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -296,7 +296,9 @@ void shutdown_executor(TSRMLS_D) /* {{{ */
zend_hash_reverse_apply(EG(function_table), (apply_func_t) zend_cleanup_function_data TSRMLS_CC);
}
zend_hash_apply(EG(class_table), (apply_func_t) zend_cleanup_class_data TSRMLS_CC);
} zend_end_try();
zend_try {
zend_vm_stack_destroy(TSRMLS_C);
zend_objects_store_free_object_storage(&EG(objects_store) TSRMLS_CC);
@@ -431,26 +433,28 @@ ZEND_API zend_bool zend_is_executing(TSRMLS_D) /* {{{ */
ZEND_API void _zval_ptr_dtor(zval **zval_ptr ZEND_FILE_LINE_DC) /* {{{ */
{
zval *zv = *zval_ptr;
#if DEBUG_ZEND>=2
printf("Reducing refcount for %x (%x): %d->%d\n", *zval_ptr, zval_ptr, Z_REFCOUNT_PP(zval_ptr), Z_REFCOUNT_PP(zval_ptr) - 1);
#endif
Z_DELREF_PP(zval_ptr);
if (Z_REFCOUNT_PP(zval_ptr) == 0) {
Z_DELREF_P(zv);
if (Z_REFCOUNT_P(zv) == 0) {
TSRMLS_FETCH();
if (*zval_ptr != &EG(uninitialized_zval)) {
GC_REMOVE_ZVAL_FROM_BUFFER(*zval_ptr);
zval_dtor(*zval_ptr);
efree_rel(*zval_ptr);
if (zv != &EG(uninitialized_zval)) {
GC_REMOVE_ZVAL_FROM_BUFFER(zv);
zval_dtor(zv);
efree_rel(zv);
}
} else {
TSRMLS_FETCH();
if (Z_REFCOUNT_PP(zval_ptr) == 1) {
Z_UNSET_ISREF_PP(zval_ptr);
if (Z_REFCOUNT_P(zv) == 1) {
Z_UNSET_ISREF_P(zv);
}
GC_ZVAL_CHECK_POSSIBLE_ROOT(*zval_ptr);
GC_ZVAL_CHECK_POSSIBLE_ROOT(zv);
}
}
/* }}} */
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+9 -11
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -545,9 +545,15 @@ ZEND_API void zend_hash_clean(HashTable *ht)
IS_CONSISTENT(ht);
SET_INCONSISTENT(HT_CLEANING);
p = ht->pListHead;
memset(ht->arBuckets, 0, ht->nTableSize*sizeof(Bucket *));
ht->pListHead = NULL;
ht->pListTail = NULL;
ht->nNumOfElements = 0;
ht->nNextFreeElement = 0;
ht->pInternalPointer = NULL;
while (p != NULL) {
q = p;
p = p->pListNext;
@@ -559,14 +565,6 @@ ZEND_API void zend_hash_clean(HashTable *ht)
}
pefree(q, ht->persistent);
}
memset(ht->arBuckets, 0, ht->nTableSize*sizeof(Bucket *));
ht->pListHead = NULL;
ht->pListTail = NULL;
ht->nNumOfElements = 0;
ht->nNextFreeElement = 0;
ht->pInternalPointer = NULL;
SET_INCONSISTENT(HT_OK);
}
/* This function is used by the various apply() functions.
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -3,7 +3,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+4 -4
View File
@@ -3,7 +3,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -211,7 +211,7 @@ inner_statement:
statement:
unticked_statement { zend_do_ticks(TSRMLS_C); }
unticked_statement { DO_TICKS(); }
| T_STRING ':' { zend_do_label(&$1 TSRMLS_CC); }
;
@@ -291,11 +291,11 @@ unset_variable:
;
function_declaration_statement:
unticked_function_declaration_statement { zend_do_ticks(TSRMLS_C); }
unticked_function_declaration_statement { DO_TICKS(); }
;
class_declaration_statement:
unticked_class_declaration_statement { zend_do_ticks(TSRMLS_C); }
unticked_class_declaration_statement { DO_TICKS(); }
;
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+7 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2011 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -227,6 +227,12 @@ ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
SCNG(script_encoding) = lex_state->script_encoding;
SCNG(internal_encoding) = lex_state->internal_encoding;
#endif /* ZEND_MULTIBYTE */
if (CG(heredoc)) {
efree(CG(heredoc));
CG(heredoc) = NULL;
CG(heredoc_len) = 0;
}
}
ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC)
+1 -1
View File
@@ -1,4 +1,4 @@
/* Generated by re2c 0.13.5 on Tue Jun 29 08:18:52 2010 */
/* Generated by re2c 0.13.5 on Mon Jan 3 05:56:03 2011 */
#line 3 "Zend/zend_language_scanner_defs.h"
enum YYCONDTYPE {
Loaded 100 of 1566 files, more files were not shown because too many files have changed in this diff. Show more