Title: [221335] trunk
Revision
221335
Author
commit-qu...@webkit.org
Date
2017-08-29 19:26:42 -0700 (Tue, 29 Aug 2017)

Log Message

Assertion failure when opening a file with a missing tag closing bracket
https://bugs.webkit.org/show_bug.cgi?id=176061

Patch by Said Abou-Hallawa <sabouhall...@apple.com> on 2017-08-29
Reviewed by Darin Adler.

Source/WebCore:

If a tag is missing its closing bracket, the tokenizer just needs to advance()
the character position without checking m_currentCharacter != '\n'. Newline
character is a valid ending for partially closed tags.

Test: fast/tokenizer/missing-script-tag-closing-bracket.html

* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::commitToPartialEndTag):

LayoutTests:

* fast/tokenizer/missing-script-tag-closing-bracket-expected.txt: Added.
* fast/tokenizer/missing-script-tag-closing-bracket.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (221334 => 221335)


--- trunk/LayoutTests/ChangeLog	2017-08-30 02:13:19 UTC (rev 221334)
+++ trunk/LayoutTests/ChangeLog	2017-08-30 02:26:42 UTC (rev 221335)
@@ -1,3 +1,13 @@
+2017-08-29  Said Abou-Hallawa  <sabouhall...@apple.com>
+
+        Assertion failure when opening a file with a missing tag closing bracket
+        https://bugs.webkit.org/show_bug.cgi?id=176061
+
+        Reviewed by Darin Adler.
+
+        * fast/tokenizer/missing-script-tag-closing-bracket-expected.txt: Added.
+        * fast/tokenizer/missing-script-tag-closing-bracket.html: Added.
+
 2017-08-29  Yusuke Suzuki  <utatane....@gmail.com>
 
         [JSC] Use reifying system for "name" property of builtin JSFunction

Added: trunk/LayoutTests/fast/tokenizer/missing-script-tag-closing-bracket-expected.txt (0 => 221335)


--- trunk/LayoutTests/fast/tokenizer/missing-script-tag-closing-bracket-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/tokenizer/missing-script-tag-closing-bracket-expected.txt	2017-08-30 02:26:42 UTC (rev 221335)
@@ -0,0 +1 @@
+Pass if no assertion failure happens.

Added: trunk/LayoutTests/fast/tokenizer/missing-script-tag-closing-bracket.html (0 => 221335)


--- trunk/LayoutTests/fast/tokenizer/missing-script-tag-closing-bracket.html	                        (rev 0)
+++ trunk/LayoutTests/fast/tokenizer/missing-script-tag-closing-bracket.html	2017-08-30 02:26:42 UTC (rev 221335)
@@ -0,0 +1,7 @@
+<body>
+    <p>Pass if no assertion failure happens.</p>
+    <script>
+        if (window.testRunner)
+            testRunner.dumpAsText();
+    </script
+</body>

Modified: trunk/Source/WebCore/ChangeLog (221334 => 221335)


--- trunk/Source/WebCore/ChangeLog	2017-08-30 02:13:19 UTC (rev 221334)
+++ trunk/Source/WebCore/ChangeLog	2017-08-30 02:26:42 UTC (rev 221335)
@@ -1,3 +1,19 @@
+2017-08-29  Said Abou-Hallawa  <sabouhall...@apple.com>
+
+        Assertion failure when opening a file with a missing tag closing bracket
+        https://bugs.webkit.org/show_bug.cgi?id=176061
+
+        Reviewed by Darin Adler.
+
+        If a tag is missing its closing bracket, the tokenizer just needs to advance()
+        the character position without checking m_currentCharacter != '\n'. Newline
+        character is a valid ending for partially closed tags.
+
+        Test: fast/tokenizer/missing-script-tag-closing-bracket.html
+
+        * html/parser/HTMLTokenizer.cpp:
+        (WebCore::HTMLTokenizer::commitToPartialEndTag):
+
 2017-08-29  Brady Eidson  <beid...@apple.com>
 
         Rename "potentionally trustworthy" to "potentially trustworthy"

Modified: trunk/Source/WebCore/html/parser/HTMLTokenizer.cpp (221334 => 221335)


--- trunk/Source/WebCore/html/parser/HTMLTokenizer.cpp	2017-08-30 02:13:19 UTC (rev 221334)
+++ trunk/Source/WebCore/html/parser/HTMLTokenizer.cpp	2017-08-30 02:26:42 UTC (rev 221335)
@@ -159,7 +159,7 @@
 {
     ASSERT(source.currentCharacter() == character);
     appendToTemporaryBuffer(character);
-    source.advancePastNonNewline();
+    source.advance();
 
     if (haveBufferedCharacterToken()) {
         // Emit the buffered character token.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to