Commit Graph

267 Commits

Author SHA1 Message Date
Xinchen Hui
563659822d Merge branch 'PHP-7.0' 2016-01-02 17:56:54 +08:00
Xinchen Hui
97a9470d97 bump year which is missed in rev 49493a2 2016-01-02 17:56:11 +08:00
Xinchen Hui
7bfc4fca60 cleanup 2015-11-21 07:14:12 -08:00
Xinchen Hui
31d93fcf4b Port the fix of 5.6 to 7.0 2015-11-21 05:41:53 -08:00
Xinchen Hui
a2e4e64682 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	Zend/zend_exceptions.c
2015-11-20 16:38:00 +08:00
Xinchen Hui
a1c887964e Fixed bug #70944 (try{ } finally{} can create infinite chains of exceptions) 2015-11-20 16:24:53 +08:00
Dmitry Stogov
71af54e5f6 Mark error and exception functions as "cold" (Matt's idea) 2015-08-19 14:40:56 +03:00
Bob Weinand
a1c9c318ea Woops, accidentally made TS build fail... 2015-08-18 14:04:48 +02:00
Bob Weinand
501407aa49 Revert fix for nicer truncation on log_errors_max_len 2015-08-18 14:01:18 +02:00
Bob Weinand
c83cbdf6ce Better fix for exception traces truncation with anon classes 2015-08-18 12:48:06 +02:00
Dmitry Stogov
d9a9b8572b Revert "Do not truncate exception traces upon anon class name"
This reverts commit b0c77fb80c.
2015-08-18 12:03:04 +03:00
Bob Weinand
b0c77fb80c Do not truncate exception traces upon anon class name 2015-08-18 03:27:56 +02:00
Nikita Popov
6366679906 Executed file can be NULL
So revert this part to what it was originally.
2015-08-14 17:16:45 +02:00
Nikita Popov
2af19fb50a Fix leak in previous commit
Turns out zend_update_property_str already does the copy implicitly.
2015-08-14 17:04:33 +02:00
Nikita Popov
13567d5dee Don't copy zend_strings during exception creation
Minor optimization...
2015-08-14 16:16:27 +02:00
Stanislav Malyshev
f2f8ea9ac5 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  __wakeup doesn't have to be final
2015-08-04 16:13:43 -07:00
Stanislav Malyshev
f1acac154a __wakeup doesn't have to be final 2015-08-04 16:13:26 -07:00
Stanislav Malyshev
69ed3969dd Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #70019 - limit extracted files to given directory
  Do not do convert_to_* on unserialize, it messes up references
  Fix #69793 - limit what we accept when unserializing exception
  Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList)
  Fixed bug #70166 - Use After Free Vulnerability in unserialize() with SPLArrayObject
  ignore signatures for packages too
  Fix bug #70168 - Use After Free Vulnerability in unserialize() with SplObjectStorage
  Fixed bug #69892
  Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes
  Improved fix for Bug #69441
  Fix bug #70068 (Dangling pointer in the unserialization of ArrayObject items)
  Fix bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref)
  Fix bug #70081: check types for SOAP variables

Conflicts:
	.gitignore
	ext/date/php_date.c
	ext/spl/spl_array.c
	ext/spl/spl_observer.c
2015-08-04 14:10:57 -07:00
Stanislav Malyshev
4d2278143a Fix #69793 - limit what we accept when unserializing exception 2015-08-01 22:02:26 -07:00
Stanislav Malyshev
e488690d95 Fix bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref) 2015-07-26 17:10:24 -07:00
Stanislav Malyshev
feeb2fba93 fix merge 2015-08-04 23:51:55 -07:00
Stanislav Malyshev
3e416bba90 fix merge 2015-08-04 16:46:53 -07:00
Stanislav Malyshev
54daa5317f Merge branch 'PHP-5.6'
* PHP-5.6:
  __wakeup doesn't have to be final
2015-08-04 16:14:32 -07:00
Stanislav Malyshev
97047e7665 Merge branch 'PHP-5.6'
* PHP-5.6:
  update NEWS
  fix test
  update NEWS
  Fix bug #70019 - limit extracted files to given directory
  Do not do convert_to_* on unserialize, it messes up references
  Fix #69793 - limit what we accept when unserializing exception
  Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList)
  Fixed bug #70166 - Use After Free Vulnerability in unserialize() with SPLArrayObject
  ignore signatures for packages too
  Fix bug #70168 - Use After Free Vulnerability in unserialize() with SplObjectStorage
  Fixed bug #69892
  Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes
  Improved fix for Bug #69441
  Fix bug #70068 (Dangling pointer in the unserialization of ArrayObject items)
  Fix bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref)
  Fix bug #70081: check types for SOAP variables

Conflicts:
	Zend/zend_exceptions.c
	ext/date/php_date.c
	ext/openssl/openssl.c
	ext/phar/phar_internal.h
	ext/soap/php_http.c
	ext/spl/spl_array.c
	ext/spl/spl_dllist.c
	ext/spl/spl_observer.c
	ext/standard/tests/serialize/bug69152.phpt
	sapi/cli/tests/005.phpt
2015-08-04 16:14:24 -07:00
Aaron Piotrowski
a1a83bf5f0 Switch code on thrown TypeError and ParseError to 0, update related tests 2015-07-07 16:54:39 -05:00
Aaron Piotrowski
5df893ce3c Use NULL where possible for exception class
Matches usage of zend_throw_exception()/zend_throw_exception_ex().
2015-07-07 12:10:55 -05:00
Aaron Piotrowski
22c38b2ef5 Remove need to pass error level 2015-07-03 17:53:41 -05:00
Aaron Piotrowski
5a99c07ecc Enable throwing custom exceptions from errors 2015-07-03 17:53:40 -05:00
Aaron Piotrowski
ed1b64877d Switch position of ce in exception ce variable names 2015-07-03 09:45:03 -05:00
Aaron Piotrowski
f9e9d3a437 Cleanup exception ce API
Removed recently added functions to get Error ce's and marked the old functions
fetching default_exception_ce and error_exception_ce as deprecated.
2015-07-03 09:44:30 -05:00
Bob Weinand
94722e12cf Introduce ArithmeticError 2015-07-02 20:47:44 +02:00
Bob Weinand
007d7ac7ca Use DivisionByZeroError instead of exception for %/intdiv() 2015-07-02 02:20:58 +02:00
Dmitry Stogov
7aa7627172 Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes). 2015-06-30 13:59:27 +03:00
Dmitry Stogov
4bd22cf1c1 Improved zend_string API (Francois Laupretre)
Squashed commit of the following:

commit d96eab8d79
Author: Francois Laupretre <francois@tekwire.net>
Date:   Fri Jun 26 01:23:31 2015 +0200

    Use the new 'ZSTR' macros in the rest of the code.

    Does not change anything to the generated code (thanks to compat macros) but cleaner.

commit b352643910
Author: Francois Laupretre <francois@tekwire.net>
Date:   Thu Jun 25 13:45:06 2015 +0200

    Improve zend_string API

    Add missing methods
2015-06-29 16:44:54 +03:00
Bob Weinand
5e16722309 Show exception source in phpdbg 2015-06-29 01:41:04 +02:00
Aaron Piotrowski
8813b389ea Fix bug when constructing an Error with invalid params 2015-06-17 19:48:17 -05:00
Anatol Belski
f97dbb058f cleanup unused var 2015-06-18 00:53:23 +02:00
Anatol Belski
577c1f3e95 preserve the orig class name when extending the ErrorException 2015-06-18 00:30:16 +02:00
Anatol Belski
9076eb26c7 dont use function to fetch default exception ce 2015-06-18 00:21:38 +02:00
Anatol Belski
57940664a8 fix crash when invalid exception arguments passed 2015-06-18 00:14:57 +02:00
Christoph M. Becker
653c869348 Fix #61362: Exception::getTraceAsString and ::__toString scramble Unicode
The logic in smart_str_append_escaped() relies on unsigned values of c, so we
have to declare it as such.
2015-06-17 22:31:07 +02:00
Aaron Piotrowski
c5eb924e9e Rename interface macros
Renamed REGISTER_INTERFACE (formerly
REGISTER_ITERATOR_INTERFACE) to
REGISTER_MAGIC_INTERFACE and renamed
REGISTER_ITERATOR_IMPLEMENT to
REGISTER_MAGIC_IMPLEMENT. Both have now been
moved to zend_interfaces.h.
2015-06-17 13:54:09 -05:00
Aaron Piotrowski
47d838a7ca Move definition of Throwable to zend_exceptions.h/c
Also moved REGISTER_ITERATOR_INTERFACE macro to
zend_interfaces.h and renamed it to REGISTER_INTERFACE.
2015-06-15 18:07:27 -05:00
Aaron Piotrowski
0265cf5aeb Check for zend_ce_throwable instead 2015-06-15 17:35:24 -05:00
Aaron Piotrowski
8e7e4fb608 Fix previous exception type check 2015-06-15 01:36:49 -05:00
Aaron Piotrowski
4d590ac35a Update exception error messages 2015-06-14 22:43:11 -05:00
Aaron Piotrowski
110e0a5a2c Merge branch 'master' into throwable-interface
# Conflicts:
#	Zend/zend_language_scanner.c
#	Zend/zend_language_scanner.l
#	ext/simplexml/tests/SimpleXMLElement_xpath.phpt
2015-06-14 18:53:11 -05:00
Dmitry Stogov
e57aceed42 Fixed access to wrong opline (it may be the last ZEND_THROW in op_array->opcodes) 2015-05-20 22:49:37 +03:00
Aaron Piotrowski
99640cd013 Merge branch 'master' into throwable-interface 2015-05-18 13:34:46 -05:00
Xinchen Hui
a5f408c91b 1. Fixed bug #69640 Unhandled EngineExceptions thrown from userland do not produce any output
2. Fixed Segfault introduced by latest changes
2015-05-18 11:13:55 +08:00