diff options
author | Dmitry Stogov <dmitry@php.net> | 2012-02-14 09:27:08 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2012-02-14 09:27:08 +0000 |
commit | 49ce9b9bff5d83742ab6eeb852a899e51c9778c9 (patch) | |
tree | 0850f60cb213212a2324021fd570a6bae3b5e0b2 | |
parent | 04f6171012cb65f3447ec66d62da70300d307799 (diff) | |
download | php-git-49ce9b9bff5d83742ab6eeb852a899e51c9778c9.tar.gz |
Added ability to reset user opcode handlers (Yoram)
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | Zend/zend_execute.c | 7 |
2 files changed, 7 insertions, 1 deletions
@@ -2,6 +2,7 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? Feb 2012, PHP 5.4.0 RC 8 - Core: + . Added ability to reset user opcode handlers (Yoram). . Improved max_input_vars directive to check nested variables (Dmitry). . Fixed bug #60965 (Buffer overflow on htmlspecialchars/entities with $double=false). (Gustavo) diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 1798045bc9..d72fc7369a 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1512,7 +1512,12 @@ ZEND_API void execute_internal(zend_execute_data *execute_data_ptr, int return_v ZEND_API int zend_set_user_opcode_handler(zend_uchar opcode, user_opcode_handler_t handler) { if (opcode != ZEND_USER_OPCODE) { - zend_user_opcodes[opcode] = ZEND_USER_OPCODE; + if (handler == NULL) { + /* restore the original handler */ + zend_user_opcodes[opcode] = opcode; + } else { + zend_user_opcodes[opcode] = ZEND_USER_OPCODE; + } zend_user_opcode_handlers[opcode] = handler; return SUCCESS; } |