Commit 8d16fa6d authored by Kunpei Sakai's avatar Kunpei Sakai Committed by Nigel Tao

html: avoid invalid nil pointer access

Updates golang/go#23071

Change-Id: I73d7302c5bde4441aa824093fdcce52e8bb51e31
Reviewed-on: https://go-review.googlesource.com/107379
Run-TryBot: Kunpei Sakai <namusyaka@gmail.com>
Reviewed-by: 's avatarNigel Tao <nigeltao@golang.org>
parent 3121141a
...@@ -2270,7 +2270,7 @@ func ParseFragment(r io.Reader, context *Node) ([]*Node, error) { ...@@ -2270,7 +2270,7 @@ func ParseFragment(r io.Reader, context *Node) ([]*Node, error) {
} }
p.doc.AppendChild(root) p.doc.AppendChild(root)
p.oe = nodeStack{root} p.oe = nodeStack{root}
if context.DataAtom == a.Template { if context != nil && context.DataAtom == a.Template {
p.templateStack = append(p.templateStack, inTemplateIM) p.templateStack = append(p.templateStack, inTemplateIM)
} }
p.resetInsertionMode() p.resetInsertionMode()
......
...@@ -380,6 +380,11 @@ func TestNodeConsistency(t *testing.T) { ...@@ -380,6 +380,11 @@ func TestNodeConsistency(t *testing.T) {
} }
} }
func TestParseFragmentWithNilContext(t *testing.T) {
// This shouldn't panic.
ParseFragment(strings.NewReader("<p>hello</p>"), nil)
}
func BenchmarkParser(b *testing.B) { func BenchmarkParser(b *testing.B) {
buf, err := ioutil.ReadFile("testdata/go1.html") buf, err := ioutil.ReadFile("testdata/go1.html")
if err != nil { if err != nil {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment