diff options
author | Andi Gutmans <andi@php.net> | 2001-08-10 14:18:38 +0000 |
---|---|---|
committer | Andi Gutmans <andi@php.net> | 2001-08-10 14:18:38 +0000 |
commit | 8ff094046de6266130a49569e6df655a39374f4c (patch) | |
tree | 0e408e2c4761abdfbe9caaee90d9ec107aa08693 | |
parent | 2969852fb3b48108ed7f9ac006314e6c7e46184e (diff) | |
download | php-git-8ff094046de6266130a49569e6df655a39374f4c.tar.gz |
- A couple of fixes
-rw-r--r-- | Zend/zend_compile.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 1679443b7f..735f067fd1 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -539,6 +539,9 @@ void zend_do_end_variable_parse(int type, int arg_offset TSRMLS_DC) zend_llist_element *le; zend_op *opline, *opline_ptr; + if (zend_variable_buffer_empty(TSRMLS_C) && (type == BP_VAR_W || type == BP_VAR_RW)) { + zend_error(E_ERROR, "Method can't be used as l-value"); + } zend_stack_top(&CG(bp_stack), (void **) &fetch_list_ptr); le = fetch_list_ptr->head; @@ -838,7 +841,7 @@ void zend_do_begin_method_call(znode *object, znode *function_name TSRMLS_DC) zend_op *opline; unsigned char *ptr = NULL; - zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); + zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_variable_parse(TSRMLS_C); opline = get_next_op(CG(active_op_array) TSRMLS_CC); |