]> granicus.if.org Git - php/commitdiff
Fix bug #71086
authorNikita Popov <nikic@php.net>
Fri, 11 Dec 2015 15:04:32 +0000 (16:04 +0100)
committerNikita Popov <nikic@php.net>
Fri, 11 Dec 2015 15:05:49 +0000 (16:05 +0100)
NEWS
Zend/tests/bug71086.phpt [new file with mode: 0644]
Zend/zend_highlight.c

diff --git a/NEWS b/NEWS
index 7f45f980f70d77b93edd0b9e169f15231941f889..89c5fa87ab2a5dc7b17d80cfbbc7ea1a34315118 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,8 @@ PHP                                                                        NEWS
   . Fixed bug #70781 (Extension tests fail on dynamic ext dependency).
     (Francois Laupretre)
   . Fixed bug #71089 (No check to duplicate zend_extension). (Remi)
+  . Fixed bug #71086 (Invalid numeric literal parse error within
+    highlight_string() function). (Nikita)
 
 - DBA:
   . Fixed key leak with invalid resource. (Laruence)
diff --git a/Zend/tests/bug71086.phpt b/Zend/tests/bug71086.phpt
new file mode 100644 (file)
index 0000000..a7600c5
--- /dev/null
@@ -0,0 +1,14 @@
+--TEST--
+Bug #71086: Invalid numeric literal parse error within highlight_string() function
+--FILE--
+<?php
+
+$highlightedString = highlight_string("<?php \n 09 09 09;", true);
+var_dump($highlightedString);
+
+?>
+--EXPECT--
+string(169) "<code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php&nbsp;<br />&nbsp;</span><span style="color: #007700">09&nbsp;09&nbsp;09;</span>
+</span>
+</code>"
index 4f870af44875d6ea4edaf6b7eb775b1520040100..94ba9481df4539ee9ec70e23d342251ff1be89bd 100644 (file)
@@ -25,6 +25,7 @@
 #include "zend_highlight.h"
 #include "zend_ptr_stack.h"
 #include "zend_globals.h"
+#include "zend_exceptions.h"
 
 ZEND_API void zend_html_putc(char c)
 {
@@ -168,6 +169,9 @@ ZEND_API void zend_highlight(zend_syntax_highlighter_ini *syntax_highlighter_ini
        }
        zend_printf("</span>\n");
        zend_printf("</code>");
+
+       /* Discard parse errors thrown during tokenization */
+       zend_clear_exception();
 }
 
 ZEND_API void zend_strip(void)