diff options
Diffstat (limited to 'Zend/zend_language_scanner.l')
-rw-r--r-- | Zend/zend_language_scanner.l | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 837df416e2..0cc3d0e72b 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -1648,7 +1648,8 @@ NEWLINE ("\r"|"\n"|"\r\n") char *end; if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ errno = 0; - ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 0)); + /* base must be passed explicitly for correct parse error on Windows */ + ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, yytext[0] == '0' ? 8 : 10)); /* This isn't an assert, we need to ensure 019 isn't valid octal * Because the lexing itself doesn't do that for us */ |