. Fixed bug #80368 (OpenSSL extension fails to build against LibreSSL due to
lack of OCB support). (Nikita)
+- Phpdbg:
+ . Fixed bug #76813 (Access violation near NULL on source operand). (cmb)
+
- Standard:
. Fixed bug #80366 (Return Value of zend_fstat() not Checked). (sagpant, cmb)
. Fixed bug #80411 (References to null-serialized object break serialize()).
YYSETCONDITION(INITIAL);
- LEX(text) = YYCURSOR = (unsigned char *) input;
+ LEX(text) = YYCURSOR = YYMARKER = (unsigned char *) input;
LEX(len) = strlen(input);
}
return T_ID;
}
+<NORMAL>* {
+ return T_UNEXPECTED;
+}
+
<RAW>{INPUT} {
phpdbg_init_param(yylval, STR_PARAM);
yylval->str = estrdup(yytext);
%% /* Rules */
input
- : command { $$ = $1; }
- | input T_SEPARATOR command { phpdbg_stack_separate($1.top); $$ = $3; }
+ : non_empty_input { $$ = $1; }
| /* empty */
;
+non_empty_input
+ : command { $$ = $1; }
+ | non_empty_input T_SEPARATOR command { phpdbg_stack_separate($1.top); $$ = $3; }
+ ;
+
command
: parameters { $$.top = PHPDBG_G(parser_stack)->top; }
| full_expression { phpdbg_stack_push(PHPDBG_G(parser_stack), &$1); $$.top = PHPDBG_G(parser_stack)->top; }
--- /dev/null
+--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>