summaryrefslogtreecommitdiff
path: root/Zend/zend_language_scanner.l
diff options
context:
space:
mode:
authorEtienne Kneuss <colder@php.net>2012-02-20 18:28:57 +0000
committerEtienne Kneuss <colder@php.net>2012-02-20 18:28:57 +0000
commiteefefddc0ee0dadc37b1bf05cada8685e546461e (patch)
treee5e29ab1d3f125b8d626f02b9ee89d0152ad8921 /Zend/zend_language_scanner.l
parent0cb26060af1553e29ea93553db7fbf5bda96685a (diff)
downloadphp-git-eefefddc0ee0dadc37b1bf05cada8685e546461e.tar.gz
Fix #61095 (Lexing 0x0*+<NUM> incorrectly)
Diffstat (limited to 'Zend/zend_language_scanner.l')
-rw-r--r--Zend/zend_language_scanner.l6
1 files changed, 5 insertions, 1 deletions
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index 458bd1a46d..96168d3516 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -1523,7 +1523,11 @@ NEWLINE ("\r"|"\n"|"\r\n")
}
if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) {
- zendlval->value.lval = strtol(hex, NULL, 16);
+ if (len == 0) {
+ zendlval->value.lval = 0;
+ } else {
+ zendlval->value.lval = strtol(hex, NULL, 16);
+ }
zendlval->type = IS_LONG;
return T_LNUMBER;
} else {