| Summary: | [implementation] org.eclipse.jface.internal.text.html.HTML2TextReader hangs when reading file with <head> | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Andrew Eisenberg <andrew.eisenberg> |
| Component: | Text | Assignee: | Dani Megert <daniel_megert> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | daniel_megert |
| Version: | 3.7.1 | ||
| Target Milestone: | 3.8 M5 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
Fixed in master: 60f31587f7b264eca3911ae21d595b0d2e35a568 |
When reading a file with an open <head> but no closing </head>, org.eclipse.jface.internal.text.html.HTML2TextReader.read hangs. Here is a simple main class that reproduces the problem: public static void main(String[] args) { StringReader reader = new StringReader("<head>"); char[] cb = new char[20]; try { new org.eclipse.jface.internal.text.html.HTML2TextReader(reader, null).read(cb); } catch (IOException e) { e.printStackTrace(); } System.out.println(cb); } The program goes into an infinite loop. Change "<head>" to "<head></head>" and the program terminates as expected. I originally noticed the problem on org.eclipse.wst.sse.ui.internal.derived.HTML2TextReader.HTML2TextReader, but that class is a copy of the jface class of the same name. The problem appears in both classes. Seems like once an open <head> is found, there needs to be a lookahead performed to see if a close tag exists.