diff options
author | Etienne Kneuss <colder@php.net> | 2012-02-20 18:28:57 +0000 |
---|---|---|
committer | Etienne Kneuss <colder@php.net> | 2012-02-20 18:28:57 +0000 |
commit | eefefddc0ee0dadc37b1bf05cada8685e546461e (patch) | |
tree | e5e29ab1d3f125b8d626f02b9ee89d0152ad8921 /Zend/zend_language_scanner.l | |
parent | 0cb26060af1553e29ea93553db7fbf5bda96685a (diff) | |
download | php-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.l | 6 |
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 { |