Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #77800 phpdbg segfaults on conditional breakpoints
This commit is contained in:
Joe Watkins 2019-03-26 23:06:34 +01:00
commit 903c1e379b
No known key found for this signature in database
GPG key ID: F9BA0ADA31CBD89E
2 changed files with 18 additions and 1 deletions

2
NEWS
View file

@ -86,6 +86,8 @@ PHP NEWS
- phpdbg:
. Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel)
. Fixed bug #76801 (too many open files). (alekitto)
. Fixed bug #77800 (phpdbg segfaults on listing some conditional breakpoints).
(krakjoe)
- Sockets:
. Fixed bug #67619 (Validate length on socket_write). (thiagooak)

View file

@ -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;