Commit Graph

656 Commits

Author SHA1 Message Date
Marcus Boerger
f5cf052225 - Fix bug #29368 : The destructor is called when an exception is thrown from the constructor 2004-07-25 17:25:44 +00:00
Marcus Boerger
5ff2111a59 Fix 0 Byte leak after alloca to emalloc change 2004-07-23 07:13:54 +00:00
Andi Gutmans
56f8195fe5 - Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
  STR_FREE() and zval_dtor() always have to check for it and it slows down
  the general case. In addition, it seems that empty_string has been abused
  quite a lot, and was used not only for setting zval's but generally in
  PHP code instead of "", which wasn't the intention. Last but not least,
  nuking empty_string should improve stability as I doubt every place
  correctly checked if they are not mistakenly erealloc()'ing it or
  calling efree() on it.
  NOTE: Some code is probably broken. Each extension maintainer should
  check and see that my changes are OK. Also, I haven't had time to touch
  PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Marcus Boerger
381a3b234f Bugfix #28464 catch() does not catch exceptions by interfaces 2004-07-16 06:39:50 +00:00
Ilia Alshanetsky
a8996a8ac6 Fixed bug #29086 & #28064 (PHP crashes on extremly long scripts). 2004-07-12 17:47:29 +00:00
Sara Golemon
a4032b68c6 Ease off on severity of new error (Using Resources as array offsets) 2004-06-24 16:35:34 +00:00
Sara Golemon
56b153390b BugFix #28879 Inconsistent behavior between explicit and implicit array creation.
Changes:

Throw E_WARNING "Illegal offset type" when explicitly creating
array elements with objects, arrays, or resorces as indexes.
This matches implicit creation w/ obj/arr indices.

Throw E_WARNING "Resource ID#%ld used as offset, casting to integer (%ld)"
when implicitly creating array with resource as index. (BC)
2004-06-23 23:20:44 +00:00
Sara Golemon
2f7c5d30b5 Another typo in converting array index doubles to long. 2004-06-18 18:33:46 +00:00
Stanislav Malyshev
176f6d8e6e fix incdec - make value's refcount non-zero when passing to
write_property - otherwise __set caller cleanup could kill it.
2004-06-02 12:48:19 +00:00
Marcus Boerger
0ef420a71e Prevent possible problems with illegal properties 2004-05-28 08:55:10 +00:00
Andi Gutmans
bca3e30484 - Fix problem with exceptions returning from include(). (Dmitry) 2004-05-27 11:59:58 +00:00
Sara Golemon
b094db390e Bugfix#28404 When type is double we need to access dval, not lval 2004-05-18 00:04:22 +00:00
Stanislav Malyshev
239ae7b5fc Fix bug #27876 2004-04-29 09:47:29 +00:00
Marcus Boerger
a455d7846d Handle failure in get_current_data 2004-04-15 21:32:34 +00:00
Ilia Alshanetsky
962c8cc9ef Fixed reversed condition for error reporting. 2004-04-01 22:05:35 +00:00
Dmitry Stogov
d00b6c7c99 Fixed BUG in zend_post_incdec_property 2004-03-31 15:16:00 +00:00
Sebastian Bergmann
c29e9277d0 -clonning+cloning 2004-03-29 15:20:50 +00:00
Dmitry Stogov
75d1e4ca7d Implicit clonning strict warning was added for ze1_compatibility_mode 2004-03-29 15:00:31 +00:00
Ilia Alshanetsky
62c80d5e6e Fixed bug #27731 (error_reporting() inside @ block fails to set
error_reporting level).
2004-03-29 00:50:52 +00:00
Stanislav Malyshev
9be3c9388b - call set handler if assigning to object having this handler
- cleanup: use macros to access object internal vars
2004-03-28 14:57:29 +00:00
Andi Gutmans
43d04ee291 - Fix build (thanks to Timm) 2004-03-26 00:26:19 +00:00
Stanislav Malyshev
7a98f60e1b no need to use result for RECV's - as in PHP4 2004-03-25 14:03:34 +00:00
Stanislav Malyshev
3c3dbc8873 Use get/set handlers for increment.decrement ops on objects 2004-03-25 13:03:04 +00:00
Dmitry Stogov
ec53815b0f Object cloning in ze1 compatibility mode (zend.ze1_compatibility_mode) was reimplemented (Dmitry, Andi) 2004-03-24 10:55:04 +00:00
Andi Gutmans
94dc9af5a0 - Remove whitespace 2004-03-22 11:16:24 +00:00
Andi Gutmans
4ccca568bb - Improve consistency 2004-03-21 21:29:17 +00:00
Stanislav Malyshev
bd9b600c3c API change for read_property:
instead of bool silent it now gets fetch type
This can be used for creating proxy objects for write contexts
2004-03-21 18:07:27 +00:00
Andi Gutmans
f0b5eeb17b - Nuke unused code 2004-03-21 17:48:51 +00:00
Zeev Suraski
b8275175ff Fix possible data corruption with __set() 2004-03-18 14:03:58 +00:00
Stanislav Malyshev
f52edc19a7 Improve error message - on E_STRICT, method is actually called,
so the error shouldn't say it cannot be called.
2004-03-18 13:28:05 +00:00
Andi Gutmans
5569ad0626 - Fix tiny bug (one of the reasons we can't support __toString() for
- regular objects).
2004-03-17 16:18:24 +00:00
Andi Gutmans
ccb515afc7 - Fixed problem with __toString(). Due to the engine's architecture it is
- currently not possible to call __toString() anywhere besides print & eval.
- Follow up will be on internals@
2004-03-17 15:48:49 +00:00
Andi Gutmans
0041aff953 - Error out if get_method() isn't defined.
- Use calling scope of internal function callee when calling a method
  using static syntax (array("A", "func"));
2004-03-16 14:39:07 +00:00
Marcus Boerger
09e76476ef Improve error message 2004-03-16 10:14:57 +00:00
Marcus Boerger
50ee116f08 Clearify the different method/class flags (as discussed with Andi). 2004-03-09 16:38:37 +00:00
Andi Gutmans
0fc9d5861d - Nuke unused code. 2004-03-09 15:27:39 +00:00
Marcus Boerger
6b0f57ee50 Rename hasMore() to valid() as discussed. (Part II) 2004-03-08 18:05:41 +00:00
Andi Gutmans
7c9694d26e - Fix leak (Dmitry) 2004-03-02 10:13:43 +00:00
Derick Rethans
ed242f7e9e - Initialize memory to \0 so that we can reliable detect whether a specific
opcode element is in use.
#- Stas thinks it's OK ;-)
2004-02-29 16:00:50 +00:00
Stanislav Malyshev
deba01c64e export opcode table 2004-02-29 15:04:22 +00:00
Marcus Boerger
f449c8fdf7 Fixes for abstract classes/methods 2004-02-27 09:14:55 +00:00
Zeev Suraski
62e921f824 Fix leak in foreach ($o->mthd()->arr) 2004-02-25 17:23:50 +00:00
Zeev Suraski
7086634a0b - Improve ARG_INFO() macros to support supplying required_num_args
- Initial fix for foreach($o->mthd()->arr) crash (now leaks)
2004-02-25 14:56:45 +00:00
Zeev Suraski
eb6fd52e21 - Rename compatiblity mode to zend.ze2_compatibility_mode (it doesn't only affect auto-clone).
- Perform implementation checks even with simple inheritance (off when
  compatibility mode is enabled).
- Restore default arguments in interfaces and handle it correctly.
- Move registration of internal classes later in the startup sequence
  in order to have INI options available.
2004-02-25 10:57:10 +00:00
Andi Gutmans
5cad7a2b4a - Remove old code 2004-02-12 15:23:06 +00:00
Zeev Suraski
00ed3bad29 Centralize exceptions code in zend_exceptions.[ch].
Remove zend_default_classes.h (use zend_exceptions.h instead)

NOTE:  This currently breaks the build, fixes to php-src and pecl coming
       soon
2004-02-12 10:38:14 +00:00
Andi Gutmans
e189d89672 - Use zend_throw_exception_object() in throw_handler to make sure it
- does all the checks
2004-02-12 10:28:33 +00:00
Zeev Suraski
d91fc5fa3c Fix leaks in assignments to overloaded objects 2004-02-11 19:12:16 +00:00
Zeev Suraski
3d4c7922e1 Fix leak with overloaded objects, when they're used just "for the hell
of it" :)
2004-02-11 16:28:46 +00:00
Zeev Suraski
aac72ce090 Fixed a bug the caused overloaded array indices to be converted to strings 2004-02-11 15:56:13 +00:00