Commit Graph

6691 Commits

Author SHA1 Message Date
Stanislav Malyshev
0610ca459a Fix warning on non-numeric offsets 2011-12-22 03:22:42 +00:00
Xinchen Hui
2f62602c03 Fixed bug #60558 (Invalid read and writes)
Re-Fixed bug #60536 (Traits Segfault)
#Thanks to tony2001, I found the previous fix -r321089 is actually not a correct one.
#The key problem there is because the traits didn't correct set the property_info.offset
#for private properties. so here come the new fix.
2011-12-19 16:48:18 +00:00
Xinchen Hui
7fcba87e68 Revert previous bad fix, introduce memory leak 2011-12-19 12:00:09 +00:00
Xinchen Hui
1a4a527c37 Codes standard & Remove useless empty lines 2011-12-19 10:05:48 +00:00
Xinchen Hui
d589d33468 Fixed bug #60558 (Invalid read and writes) 2011-12-19 09:58:29 +00:00
Stanislav Malyshev
622412d8e6 implement the solution for isset/string offsets, fix bug #60362 2011-12-19 02:05:03 +00:00
Stefan Marr
3dc9f0abe6 Fixed inconsistent and broken handling of private properties in traits.
# The handling of private properties in classes is now consistent with private properties in traits.
# Perviously, privates could cause strict warnings, are were not properly merged into the class when
# the parent class had a private property of the same name. Now, we introduce it without notice,
# since it is a new and independent property, just like in normal classes.
# This problem was diagnosed while working on Bug #60536.
2011-12-17 14:26:39 +00:00
Xinchen Hui
db63456a8d Reduce memory usage 2011-12-17 03:57:01 +00:00
Xinchen Hui
01dc47631e Fixed bug #60536 (Traits Segfault)
# this is a tough one, I think I should explain
# Zend use zend_object->properties_table both as zval ** and zval ***
# if a zend_object->properties is not initialized, the properties_table is zval **
# while in rebuild_object_properties, zend will store the zval ** to zend_object->properties
# then stash the zval ***(ie, zobj->properties_table[0] is zval ** now) to  zobj->properties_table[0] 
# so when a zend_object inherit form multi parent and these parent have a same property_info->offset 
# properties, will result in a repeat zval **->zval ** transform, which will lead to a segmentfault
# *may be* this fix is not the best fix, we should not use this tricky way, and rewrite this mechanism.
2011-12-16 19:02:52 +00:00
Pierrick Charron
3f2bcb7723 Coding standard 2011-12-06 06:44:22 +00:00
Xinchen Hui
95784cf6c5 remove irrelevant codes in test 2011-12-05 12:46:38 +00:00
Xinchen Hui
2f8c502d22 Add xfaild test for a secluded issue 2011-12-05 12:44:12 +00:00
Xinchen Hui
d18a61aefb Fix typo 2011-12-05 12:33:56 +00:00
Dmitry Stogov
1d6c98a136 Fixed bug #60444 (Segmentation fault with include & class extending) 2011-12-05 09:20:12 +00:00
Dmitry Stogov
6cfbcb2268 Expose zend_signal_handler_unblock() to DSO extensions to allow usage of HANDLE_UNBLOCK_INTERRUPTIONS macro 2011-12-02 12:14:16 +00:00
Dmitry Stogov
f10b3bb556 Fixed icorrect key length after updating constant index 2011-12-01 13:58:29 +00:00
Felipe Pena
bfb1d38b9c - Added tests for bug #60350
patch by: php@mickweiss.com
2011-11-30 21:04:07 +00:00
Felipe Pena
a89f1d3cfa - Fixed bug #60350 (No string escape code for ESC (ascii 27), normally \e)
patch by: php at mickweiss dot com
2011-11-30 19:42:59 +00:00
Stefan Marr
db0888dfc1 Fixed Bug #60369 Crash with static property in trait 2011-11-23 21:24:34 +00:00
Antony Dovgal
e14819439c export zend_on_timeout handler from ZE 2011-11-22 03:39:12 +00:00
Stanislav Malyshev
0f0ffd38c9 fix is_a reflection 2011-11-20 22:20:03 +00:00
Felipe Pena
b3b3eb8c2f - Fix tests 2011-11-19 18:01:26 +00:00
Felipe Pena
ebd7dc5f88 - Fix tests 2011-11-19 18:01:26 +00:00
Felipe Pena
31ef559712 - Fixed bug #43200 (Interface implementation / inheritence not possible in abstract classes) 2011-11-19 13:36:03 +00:00
Felipe Pena
bc810a443d - Fixed bug #43200 (Interface implementation / inheritence not possible in abstract classes) 2011-11-19 13:36:03 +00:00
Felipe Pena
cc8573e7a5 - CS 2011-11-18 13:56:41 +00:00
Stefan Marr
76772dc20d Fixes Bug #54441 (Handling of changing modifiers on a trait alias)
# this now results also in a compilation error, since it would open the door for inconsistencies, and violates the DRY principle.
2011-11-18 13:49:07 +00:00
Dmitry Stogov
f7278c161f Fixed bug #60138 (GC crash with referenced array in RecursiveArrayIterator) 2011-11-18 12:43:53 +00:00
Dmitry Stogov
a65abc12b6 Fixed bug #60138 (GC crash with referenced array in RecursiveArrayIterator) 2011-11-18 12:43:53 +00:00
Stanislav Malyshev
66877fbd15 fix typo 2011-11-18 09:15:15 +00:00
Stanislav Malyshev
77d0643b68 fixes for bug #55748 2011-11-18 07:11:19 +00:00
Felipe Pena
c5ec9dd650 - Fix build 2011-11-17 21:07:52 +00:00
Stefan Marr
c5ba229617 Fixed Bug #60165 (Aliasing unexisting trait should throw/trigger the exception/error)
- aliases that are not actually matching anything are treated as errors now. This
  will make sure that all methods that are expected to be in a class are actually
  there, or in case a trait changed for instance, that the code breaks already
  on composition
- Precedence declarations are also checked to ensure that the method
  which is supposed to take precedence actually exists, however,
  the other traits mentioned in the declaration are not regarded.
  We are more lenient here, since this avoids unnecessary fragility.
- fixed another seamingly unrelated test which broke in the progress
  but wasn't clear before either.
2011-11-17 21:04:15 +00:00
Felipe Pena
7735ef1c2d - Fixed bug #60099 (__halt_compiler() works in braced namespaces) 2011-11-16 17:41:40 +00:00
Felipe Pena
3c7a573a2c - Fixed bug #60099 (__halt_compiler() works in braced namespaces) 2011-11-16 17:41:40 +00:00
David Soria Parra
c4d5231a36 Fix #60218 (instantiating unknown class leads to memory leak in cli) 2011-11-12 17:05:08 +00:00
Stanislav Malyshev
3598185a74 fix bug #55475 - implement is_a BC solution 2011-11-09 05:27:45 +00:00
Rasmus Lerdorf
c3e56a152c Here too 2011-11-08 20:37:09 +00:00
Rasmus Lerdorf
9597bc0801 This really shouldn't fail, but if it does, like on OSX under Valgrind,
let's just issue a warning.
2011-11-08 20:32:29 +00:00
Dmitry Stogov
cacf363957 Fixed bug #60104 (Segmentation Fault in pdo_sqlite when using sqliteCreateFunction()) 2011-11-08 10:11:25 +00:00
Felipe Pena
ff48763f4b - Added class member access on instantiation (e.g. (new foo)->bar()) support 2011-11-06 13:25:45 +00:00
Stefan Marr
5745f95372 Fixed inconsistent whitespace.
# Belongs to svn rev. 318793.
2011-11-05 02:05:28 +00:00
Stefan Marr
7334dfd7eb Fixed Bug #60217 (Requiring the same method from different traits)
- also added test to check for inconsistent abstract method definitions, they need to be compatible
2011-11-05 01:46:40 +00:00
Antony Dovgal
36103d1236 use jmp_addr only when it's initialized 2011-11-03 08:39:12 +00:00
Xinchen Hui
cae2f1381f Fix bug #60169 Conjunction of ternary and list crashes PHP 2011-11-03 03:59:41 +00:00
Ferenc Kovacs
6c01aacc0d adding memory check for FreeBSD also, TODO: refactor the free memory check into a function in an include file 2011-11-02 21:27:03 +00:00
Ferenc Kovacs
5bf6eaf3f4 adding memory check for FreeBSD also, TODO: refactor the free memory check into a function in an include file 2011-11-02 21:27:03 +00:00
Antony Dovgal
ed276758f7 fix folding, ws and cs 2011-11-02 21:12:13 +00:00
Antony Dovgal
8d520d6296 initialize variable and fix segfaulting tests 2011-11-02 21:05:36 +00:00
Dmitry Stogov
e95bb57da9 Fixed bug #60139 (Anonymous functions create cycles not detected by the GC) 2011-11-02 06:31:33 +00:00
Dmitry Stogov
e0f781f496 Fixed bug #60139 (Anonymous functions create cycles not detected by the GC) 2011-11-02 06:31:33 +00:00
Ferenc Kovacs
67e148a2ff allocating more than 2GB memory is slow. 2011-11-01 21:27:57 +00:00
Ferenc Kovacs
8412709f37 allocating more than 2GB memory is slow. 2011-11-01 21:27:57 +00:00
Stefan Marr
4591498df7 Fixed Bug #60153 (Interface method prototypes not enforced when implementd via traits.)
# Moved the freeing of overriden functions to a point after the check.
# The new check comes after the normal inheritance check to give the first check
# the opportunity to abort with a more detailed error.
# Also fixed a small type in an unrelated test.
2011-11-01 15:25:24 +00:00
Stefan Marr
9b0d73af1d Added missing consistency check for abstract methods required by one trait and implemented by another. 2011-11-01 13:42:53 +00:00
Stefan Marr
b5f15ef561 Fixed Bug #60145 (Usage of trait's use statement inside interfaces not properly checked.) 2011-11-01 00:39:10 +00:00
Stefan Marr
2e5d5e5ac6 Fixed Bug #60173 (Wrong error message on reflective trait instantiation) 2011-10-31 22:59:00 +00:00
Xinchen Hui
63812d1849 Update tests 2011-10-31 06:52:45 +00:00
Xinchen Hui
378ad2f447 Test for #60174 (Notice when array in method prototype error) 2011-10-31 06:04:43 +00:00
Xinchen Hui
5921e73a37 Fixed bug #60174 (Notice when array in method prototype error)
this should also exists in ext/reflection. since the new warning of "array to string convert" is introduced in zend_make_printable_zval which is used in ext/reflection too
2011-10-31 03:47:11 +00:00
Xinchen Hui
9d98b3e39a tests for 60169 2011-10-30 06:28:24 +00:00
Ferenc Kovacs
6c67aa07b4 check the available memory on linux and skip if it is not enough 2011-10-23 00:07:01 +00:00
Ferenc Kovacs
b6aa3964d8 check the available memory on linux and skip if it is not enough 2011-10-23 00:07:01 +00:00
Ferenc Kovacs
1b556f6114 shave off 900M memory from this test 2011-10-22 23:47:52 +00:00
Ferenc Kovacs
9798694c03 shave off 900M memory from this test 2011-10-22 23:47:52 +00:00
Stanislav Malyshev
d81ea16ef1 Changed silent conversion of array to string to produce a notice. (Patrick) 2011-10-21 06:08:47 +00:00
Arnaud Le Blanc
07b7ba8b40 Improved ternary operator performance when returning arrays 2011-10-18 19:42:42 +00:00
Stanislav Malyshev
05c5c8958e Bug #55754 - Only variables should be passed by reference for ZEND_SEND_PREFER_REF params 2011-10-16 00:34:01 +00:00
Stefan Marr
e14354af21 Fixed Bug #55554 (Legacy constructors not handled properly) [TRAITS] [DOC]
# The handling of legacy constructors defined by traits was corrected.
# They are now properly registered and used on instantiation.
# The situation for conflicting legacy and __construct constructors is
# mostly identical. If they are defined in the class, they override conflicts
# and do not collide. However, in case different styles are mixed, between
# class and trait definition, we assume a programmer's mistake and report
# a collision.
#
# BTW: +1 for all the fixed tests! `make test` is fun again.
2011-10-09 11:13:27 +00:00
Stefan Marr
469fc0a341 Use ZEND_ constants instead of plain strings for names of magic methods.
# No functional changes.
2011-10-08 23:47:16 +00:00
Xinchen Hui
4ffc16611d Remove unecessary codes 2011-10-07 04:14:31 +00:00
Xinchen Hui
2e925f6f19 Fixed bug #55825, and add test script 2011-10-03 17:01:17 +00:00
Stanislav Malyshev
f50f54a6ea update proto 2011-09-26 03:57:22 +00:00
Xinchen Hui
c58f254354 Improve the warning message of incompatible arguments. (#55719)
And fix tests related.
2011-09-23 15:08:11 +00:00
Rasmus Lerdorf
92f68921cf Re-committing Alan's is_a revert/fix for bug #55475
Dmitry had done so earlier, but reverted pending discussion.
It is completely clear that this should never have been changed in the
5.3 branch in the first place giving the number of things that broke
because of it.
2011-09-23 09:52:09 +00:00
Felipe Pena
5441cd1f0d - Fixed bug #55705 (Omitting a callable typehinted argument causes a segfault)
patch by: laruence@php
2011-09-17 00:16:11 +00:00
Pierrick Charron
ee534ac62f Fixed test bug #55713 (Christopher Jones) 2011-09-16 18:29:22 +00:00
Pierrick Charron
63293044f9 Fixed test bug #55713 (Christopher Jones) 2011-09-16 18:29:22 +00:00
Dmitry Stogov
c3741ad973 Fixed bug #55644 (Math ops tests fail, diff min int value) 2011-09-16 07:59:34 +00:00
Etienne Kneuss
c2a92317f4 Fix folding 2011-09-15 14:50:38 +00:00
Dmitry Stogov
77bda2614d Fixed bug #50982 (incorrect assumption of PAGE_SIZE size) 2011-09-15 11:30:17 +00:00
Dmitry Stogov
a223328b52 Fixed bug #50982 (incorrect assumption of PAGE_SIZE size) 2011-09-15 11:30:17 +00:00
Dmitry Stogov
59ad27b0aa Reverted the fix for #55475 (is_a() triggers autoloader) before the common decision 2011-09-15 10:59:39 +00:00
Dmitry Stogov
e98759eecf Fixed bug #55475 (is_a() triggers autoloader). (alan at akbkhome dot com) 2011-09-15 09:58:33 +00:00
Dmitry Stogov
93dd61659f Fixed bug #55552 (bad encoding not detected) 2011-09-14 15:00:28 +00:00
Dmitry Stogov
750e4e1011 Fixed bug #55578 (Segfault on implode/concat) 2011-09-14 13:18:19 +00:00
Derick Rethans
a70889f8fd - Fixed compiler warnings (patch by Kalle Sommer Nielsen) 2011-09-13 15:17:11 +00:00
Dmitry Stogov
1257328def Fixed ZE specific compile warnings (Bug #55629) 2011-09-13 13:30:18 +00:00
Dmitry Stogov
4a25a7740d Fixed ZE specific compile warnings (Bug #55629) 2011-09-13 13:29:35 +00:00
Dmitry Stogov
75df0499f6 Fixed Bug #55649 (Undefined function Bug()). (Laruence) 2011-09-13 07:07:06 +00:00
Dmitry Stogov
12c3dc1b00 Fixed Bug #55649 (Undefined function Bug()). (Laruence) 2011-09-13 07:07:06 +00:00
Dmitry Stogov
19dd70518c Fixed bug #55509 (segfault on x86_64 using more than 2G memory). (Laruence) 2011-09-13 07:01:46 +00:00
Dmitry Stogov
12864e4769 Fixed bug #55509 (segfault on x86_64 using more than 2G memory). (Laruence) 2011-09-13 07:01:46 +00:00
Pierre Joye
f20e705760 - fix build when no zend signal support 2011-09-08 09:17:21 +00:00
Rasmus Lerdorf
2af36bd041 Make timeouts work again for shutdown functions.
Fixes the faling lang/045 test
2011-09-07 18:48:17 +00:00
Hannes Magnusson
e5553b210a Revert r316345 which fixes all the tests again 2011-09-07 13:50:18 +00:00
Pierre Joye
59614b05c4 - reject paths with trainling spaces using the very good new zend arg 2011-09-07 12:33:22 +00:00
Hannes Magnusson
ffe0c530af Remove bogus skipif and make adjust the tests 2011-09-07 10:44:32 +00:00
Stanislav Malyshev
38ff70ef25 Commit Gustavo's closure rebinding patch as desided by vote 2011-09-07 06:46:27 +00:00
Pierre Joye
f6bdb6ff61 - fix skipif 2011-09-06 15:40:12 +00:00
Pierre Joye
431db84bc9 - fix skipif 2011-09-06 15:40:12 +00:00
Pierre Joye
43e8a06cac - parser version independent 2011-08-31 11:18:13 +00:00
Pierre Joye
cbcb66f63a - parser version independent 2011-08-31 11:16:25 +00:00
Pierre Joye
9250c721c9 - use only the test name 2011-08-31 10:46:20 +00:00
Pierre Joye
fdeb68b565 - use only the test name 2011-08-31 10:43:39 +00:00
Pierre Joye
3d74cffc20 - use only the test name 2011-08-31 10:30:39 +00:00
Pierre Joye
138bff32e7 - use only the test name 2011-08-31 10:30:39 +00:00
Pierre Joye
5c6e57264e - use only test name 2011-08-31 10:22:18 +00:00
Pierre Joye
3853e85a79 - make it parser version independent 2011-08-31 10:05:54 +00:00
Pierre Joye
b1582cdc65 - make it parser version independent 2011-08-31 10:05:54 +00:00
Felipe Pena
895a10caf1 - Fixed ZTS build 2011-08-30 01:33:42 +00:00
Derick Rethans
56a87c2806 - Zend engine part for bug #55158: Add SORT_NATURAL type to array_multisort
(patch by Arpad Ray).
2011-08-29 20:24:09 +00:00
Stefan Marr
117e072941 Fixed bug #55524 Traits should not be able to extend a class
# also used the Z_STRVAL where it seemed appropriate
2011-08-29 15:53:46 +00:00
Pierrick Charron
c27da034d0 Reapply the commit of revision 315259 on 5.3.9 2011-08-23 03:09:09 +00:00
Pierrick Charron
18aac27b28 Revert commit 315259 as requested
# Will apply the patch on this branch after 5.3.8
2011-08-22 11:35:19 +00:00
Pierrick Charron
ef48624cd3 - Fixed bug #55156 (ReflectionClass::getDocComment() returns comment even though the class has none)
# Patch was not committed on the PHP5.3 branch
2011-08-22 01:11:22 +00:00
Pierre Joye
7480c7d4e0 - Fix bug #55471, fix zts build with dtrace (Laruense) 2011-08-21 11:51:00 +00:00
Etienne Kneuss
f6c2b4776c Fix bug #55445 (Incomplete implementation of <?= being independant of short_open_tag) 2011-08-17 23:50:04 +00:00
Felipe Pena
17abf879ed - Drop T_SCALAR_CAST 2011-08-16 12:13:35 +00:00
Felipe Pena
074c7e6a3a - Fixed ZTS build 2011-08-16 12:01:36 +00:00
Hannes Magnusson
133596b6f7 Improve errormessage on wrong use statements 2011-08-16 10:46:49 +00:00
Hannes Magnusson
550980cfe5 Callable typehint following the rules of is_callable($arg, false); 2011-08-16 10:44:47 +00:00
Stefan Marr
4a51ea4b81 Bug #55424 Fatal error when calling a method from a trait that is defined in parent class and required by using an abstract method in the trait.
# The method got unconditionally deleted from the class, since it was assumed that we override it, but we did not in case of abstract methods coming from a trait. Thus, dont delete when we try to merge in an abstract method.
2011-08-15 22:16:58 +00:00
Stefan Marr
0500cffb2e Fixed Bug #55355: Inheritance chain was not regarded when checking whether the abstract method of a trait is satisfied. 2011-08-15 11:16:18 +00:00
Stefan Marr
f2ed1242d6 Fixed Bug #55372 Incorrect handling of literals led to memory corruption.
# Dmitry you might want to review this patch, since I split up zend_add_literal
# and added a version for post-pass_two() usage.
2011-08-15 09:54:06 +00:00
Stefan Marr
c312e60280 Addendum for patch to bug #55214: Class name was freed before method literal referring to it.
# Thanks to Felipe for catching this.
# The fix duplicates the name into the literal to avoid the dependency
2011-08-15 08:29:48 +00:00
Etienne Kneuss
baf2e822cc Fix typo 2011-08-08 14:54:50 +00:00
Etienne Kneuss
6b5d5b8d12 Fix typo 2011-08-08 14:54:50 +00:00
Pierrick Charron
19b6735d86 Fix typo 2011-08-08 11:30:56 +00:00
Pierrick Charron
e17b5f7e1d Fix typo 2011-08-08 11:30:56 +00:00
Pierrick Charron
cbd4f7602e Use snprintf to make the static analyzers happy 2011-08-08 11:19:49 +00:00
Pierrick Charron
d0a4c01099 Use snprintf to make the static analyzers happy 2011-08-08 11:19:49 +00:00
Derick Rethans
4a73e35168 - Document the new ZEND_DONT_UNLOAD_MODULES environment variable. 2011-08-08 07:42:58 +00:00
Pierrick Charron
08a499f142 Use snprintf and strncat to make the static analyzers happy 2011-08-08 03:08:59 +00:00
Pierrick Charron
ed7b3e703e Use snprintf and strncat to make the static analyzers happy 2011-08-08 03:08:59 +00:00
Derick Rethans
3ed828a892 - Fixed bug #55378: binary number literal returns float number though its value
is enough small
2011-08-07 17:36:31 +00:00
Gwynne Raskind
ef0e34580b For 5.4, fix C++-style comments. For trunk, forward-port build fix. 2011-08-07 16:31:21 +00:00
Felipe Pena
619cfeef46 - Revert r314387
(property_info.name has the mangled name)
2011-08-07 13:04:02 +00:00
Pierrick Charron
bfd10cfee9 function_name cannot be false 2011-08-07 06:19:43 +00:00
Pierrick Charron
b90059120d function_name cannot be false 2011-08-07 06:19:43 +00:00
Gwynne Raskind
0af1e412a4 Fix build under Clang 2.9 - see LLVM bug #9164 (http://llvm.org/bugs/show_bug.cgi?id=9164). Tested with GCC and Clang on Darwin and Ubuntu. 2011-08-07 05:20:49 +00:00
Rasmus Lerdorf
80931fee0c Since we have fci_cache = &fci_cache_local inside that block
and fci_cache is then later used outside the block, fci_cache_local
can't be block-scoped here
2011-08-07 00:50:46 +00:00
Rasmus Lerdorf
99cb211c6c Use snprintf here instead to make the static analyzers happy. 2011-08-07 00:25:22 +00:00
Rasmus Lerdorf
e2315d295a Use property_info.name here instead since *name might be free'ed at this point
@dmitry please review
2011-08-07 00:01:17 +00:00
Felipe Pena
997f323e3a - Added ZEND_MOD_END macro to use in the end of zend_module_dep[] 2011-08-06 14:47:44 +00:00
Felipe Pena
707a8f70b8 - Added ZEND_MOD_END macro to use in the end of zend_module_dep[] 2011-08-06 14:47:44 +00:00
Felipe Pena
13eb47a8bc - Added missing PHP_FE_END/ZEND_FE_END 2011-08-06 01:22:27 +00:00
Felipe Pena
783b05326a - Added missing PHP_FE_END/ZEND_FE_END 2011-08-06 01:22:27 +00:00
Rasmus Lerdorf
2b6a290d55 Another potential missing va_end() found by Coverity 2011-08-05 22:26:16 +00:00
Rasmus Lerdorf
c1c2e18cb5 Another potential missing va_end() found by Coverity 2011-08-05 22:26:16 +00:00