mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Fix #77800 phpdbg segfaults on conditional breakpoints
This commit is contained in:
4
NEWS
4
NEWS
@@ -12,7 +12,9 @@ PHP NEWS
|
||||
|
||||
- phpdbg:
|
||||
. Fixed bug #76801 (too many open files). (alekitto)
|
||||
|
||||
. Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints).
|
||||
(krakjoe)
|
||||
|
||||
- Reflection:
|
||||
. Fixed bug #77772 (ReflectionClass::getMethods(null) doesn't work). (Nikita)
|
||||
|
||||
|
||||
@@ -232,7 +232,7 @@ PHPDBG_API void phpdbg_export_breakpoints_to_string(char **str) /* {{{ */
|
||||
} ZEND_HASH_FOREACH_END();
|
||||
}
|
||||
|
||||
if (!(*str)[0]) {
|
||||
if ((*str) && !(*str)[0]) {
|
||||
*str = NULL;
|
||||
}
|
||||
} /* }}} */
|
||||
@@ -813,6 +813,21 @@ static inline void phpdbg_create_conditional_break(phpdbg_breakcond_t *brake, co
|
||||
uint32_t cops = CG(compiler_options);
|
||||
zval pv;
|
||||
|
||||
switch (param->type) {
|
||||
case STR_PARAM:
|
||||
case NUMERIC_FUNCTION_PARAM:
|
||||
case METHOD_PARAM:
|
||||
case NUMERIC_METHOD_PARAM:
|
||||
case FILE_PARAM:
|
||||
case ADDR_PARAM:
|
||||
/* do nothing */
|
||||
break;
|
||||
|
||||
default:
|
||||
phpdbg_error("eval", "type=\"invalidparameter\"", "Invalid parameter type for conditional breakpoint");
|
||||
return;
|
||||
}
|
||||
|
||||
PHPDBG_BREAK_INIT(new_break, PHPDBG_BREAK_COND);
|
||||
new_break.hash = hash;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user