Skip to content

Commit f558b7f

Browse files
committed
Bugfix: early ending end tag
1 parent 4768b39 commit f558b7f

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

svg/svg.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,8 +270,12 @@ func (o *Minifier) Minify(m *minify.M, w io.Writer, r io.Reader, _ map[string]st
270270
return err
271271
}
272272
case xml.EndTagToken:
273-
t.Data[2+len(t.Text)] = '>'
274-
if _, err := w.Write(t.Data[:2+len(t.Text)+1]); err != nil {
273+
if len(t.Data) > 2+len(t.Text) {
274+
t.Data[2+len(t.Text)] = '>'
275+
if _, err := w.Write(t.Data[:2+len(t.Text)+1]); err != nil {
276+
return err
277+
}
278+
} else if _, err := w.Write(t.Data); err != nil {
275279
return err
276280
}
277281
}

svg/svg_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ func TestSVG(t *testing.T) {
4343
{`<!DOCTYPE bla><?xml?><!-- comment --><metadata/>`, ``},
4444

4545
{`<polygon fill="none" stroke="#000" points="-0.1,"/>`, `<polygon fill="none" stroke="#000" points="-0.1,"/>`}, // #45
46+
{`</0`, `</0`}, // go fuzz
4647
}
4748

4849
m := minify.New()

0 commit comments

Comments
 (0)