diff options
author | Bob Weinand <bobwei9@hotmail.com> | 2015-05-27 00:55:15 +0200 |
---|---|---|
committer | Bob Weinand <bobwei9@hotmail.com> | 2015-05-27 00:55:26 +0200 |
commit | 5bec1490f90e1061d4b3416c8e34a5369c616475 (patch) | |
tree | 3d776df511ccc9cd771450c47a379ef7cbcf2e6b /sapi/phpdbg/phpdbg_print.c | |
parent | 7dac4d449f72d7eb029aa1a8ee87aaf38e17e1c5 (diff) | |
download | php-git-5bec1490f90e1061d4b3416c8e34a5369c616475.tar.gz |
Fix phpdbg class fetch / method opcodes
Diffstat (limited to 'sapi/phpdbg/phpdbg_print.c')
-rw-r--r-- | sapi/phpdbg/phpdbg_print.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sapi/phpdbg/phpdbg_print.c b/sapi/phpdbg/phpdbg_print.c index 11bfdf5a81..4013c0fd88 100644 --- a/sapi/phpdbg/phpdbg_print.c +++ b/sapi/phpdbg/phpdbg_print.c @@ -282,12 +282,13 @@ void phpdbg_print_opcodes_function(const char *function, size_t len) { } void phpdbg_print_opcodes_method(const char *class, const char *function) { - zend_class_entry *ce = zend_hash_str_find_ptr(EG(class_table), class, strlen(class)); + zend_class_entry *ce; zend_function *func; - if (!ce) { + if (phpdbg_safe_class_lookup(class, strlen(class), &ce) != SUCCESS) { return; } + if (ce->type != ZEND_USER_CLASS) { phpdbg_out("function name: %s::%s (internal)\n", class, function); return; @@ -348,7 +349,6 @@ void phpdbg_print_opcodes_class(const char *class) { PHPDBG_API void phpdbg_print_opcodes(char *function) { char *method_name; - strtok(function, ":"); if (function == NULL) { @@ -376,7 +376,7 @@ PHPDBG_API void phpdbg_print_opcodes(char *function) } ZEND_HASH_FOREACH_END(); } else if ((method_name = strtok(NULL, ":")) == NULL) { phpdbg_print_opcodes_function(function, strlen(function)); - } else if (++method_name == NULL || ++method_name == NULL) { + } else if ((method_name + 1) == NULL) { phpdbg_print_opcodes_class(function); } else { phpdbg_print_opcodes_method(function, method_name); |