RFR: 7172359: HTML parser StackOverflowError on invalid HTML: <li> tag inside an <option> [v2]
Alexey Ivanov
aivanov at openjdk.org
Wed Sep 28 13:32:27 UTC 2022
On Thu, 22 Sep 2022 12:23:36 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>> If there is invalid tag, stack terminates but it still tries to recurse through by calling legalElementContext() which results in StackOverflowError.
>> Fix is to return if stack is terminated after checking current tag is not valid in current context
>>
>> All other test/html/parser as well as other jtreg suite tests are ok with the fix.
>
> Prasanta Sadhukhan has updated the pull request incrementally with one additional commit since the last revision:
>
> Return only if current tag is not valid in current context
test/jdk/javax/swing/text/html/parser/ParserCrash.java line 35:
> 33: import java.io.Reader;
> 34:
> 35: public class ParserCrash {
It is not a **crash**, it is `StackOverflowError`, a better name would be `ParserStackOverflow(InInvalidTagContext)`.
test/jdk/javax/swing/text/html/parser/ParserCrash.java line 48:
> 46: kit.read(reader, doc, 0); // StackOverflowError here
> 47:
> 48: System.out.println("Succeeded! (expected StackOverflowError");
Suggestion:
System.out.println("Succeeded! (no StackOverflowError)");
You *do not expect* it but it was thrown before the fix.
-------------
PR: https://git.openjdk.org/jdk/pull/10279
More information about the client-libs-dev
mailing list