summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--configure.ac2
-rw-r--r--sapi/phpdbg/phpdbg_lexer.l6
-rw-r--r--sapi/phpdbg/phpdbg_parser.y8
-rw-r--r--sapi/phpdbg/tests/bug76813.phpt10
5 files changed, 7 insertions, 22 deletions
diff --git a/NEWS b/NEWS
index 69aa04f375..1b9fd953a4 100644
--- a/NEWS
+++ b/NEWS
@@ -44,6 +44,9 @@ PHP NEWS
(david at bamsoftware, cmb)
. Fixed bug #77565 (Incorrect locator detection in ZIP-based phars). (cmb)
+- Phpdbg:
+ . Reverted fix for bug #76813 (Access violation near NULL on source operand).
+ (cmb)
07 Jan 2021, PHP 8.0.1
diff --git a/configure.ac b/configure.ac
index e77708b9ef..91e6ce16fe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -154,7 +154,7 @@ PHP_RUNPATH_SWITCH
dnl Checks for some support/generator progs.
PHP_PROG_AWK
PHP_PROG_BISON([3.0.0])
-PHP_PROG_RE2C([0.13.7])
+PHP_PROG_RE2C([0.13.4])
PHP_ARG_ENABLE([re2c-cgoto],
[whether to enable computed goto gcc extension with re2c],
diff --git a/sapi/phpdbg/phpdbg_lexer.l b/sapi/phpdbg/phpdbg_lexer.l
index e57702ba0b..422cda4f2c 100644
--- a/sapi/phpdbg/phpdbg_lexer.l
+++ b/sapi/phpdbg/phpdbg_lexer.l
@@ -33,7 +33,7 @@ void phpdbg_init_lexer (phpdbg_param_t *stack, char *input) {
YYSETCONDITION(INITIAL);
- LEX(text) = YYCURSOR = YYMARKER = (unsigned char *) input;
+ LEX(text) = YYCURSOR = (unsigned char *) input;
LEX(len) = strlen(input);
}
@@ -165,10 +165,6 @@ INPUT ("\\"[#"']|["]("\\\\"|"\\"["]|[^\n\000"])+["]|[']("\\"[']|"\\\\"|[^\
return T_ID;
}
-<NORMAL>* {
- return T_UNEXPECTED;
-}
-
<RAW>{INPUT} {
phpdbg_init_param(yylval, STR_PARAM);
yylval->str = estrdup(yytext);
diff --git a/sapi/phpdbg/phpdbg_parser.y b/sapi/phpdbg/phpdbg_parser.y
index cdfe92570e..f776586810 100644
--- a/sapi/phpdbg/phpdbg_parser.y
+++ b/sapi/phpdbg/phpdbg_parser.y
@@ -63,13 +63,9 @@ ZEND_EXTERN_MODULE_GLOBALS(phpdbg)
%% /* Rules */
input
- : non_empty_input { $$ = $1; }
- | %empty
- ;
-
-non_empty_input
: command { $$ = $1; }
- | non_empty_input T_SEPARATOR command { phpdbg_stack_separate($1.top); $$ = $3; }
+ | input T_SEPARATOR command { phpdbg_stack_separate($1.top); $$ = $3; }
+ | %empty
;
command
diff --git a/sapi/phpdbg/tests/bug76813.phpt b/sapi/phpdbg/tests/bug76813.phpt
deleted file mode 100644
index 61e5e3fea6..0000000000
--- a/sapi/phpdbg/tests/bug76813.phpt
+++ /dev/null
@@ -1,10 +0,0 @@
---TEST--
-Bug #76813 (Access_violation_near_NULL_on_source_operand)
---PHPDBG--
-"#!==)===\377\377\276\242="
-#!==)===\377\377\276\242=
---EXPECT--
-prompt> [Parse Error: syntax error, unexpected input, expecting $end]
-prompt> [Parse Error: syntax error, unexpected # (pound sign), expecting $end]
-prompt> [Parse Error: syntax error, unexpected # (pound sign), expecting $end]
-prompt>