|
@@ -41,11 +41,16 @@ func Sanitize(data imagedata.ImageData) (imagedata.ImageData, error) {
|
|
|
for {
|
|
|
tt, tdata := l.Next()
|
|
|
|
|
|
- if ignoreTag > 0 {
|
|
|
- switch tt {
|
|
|
- case xml.ErrorToken:
|
|
|
+ if tt == xml.ErrorToken {
|
|
|
+ if l.Err() != io.EOF {
|
|
|
cancel()
|
|
|
return nil, newSanitizeError(l.Err())
|
|
|
+ }
|
|
|
+ break
|
|
|
+ }
|
|
|
+
|
|
|
+ if ignoreTag > 0 {
|
|
|
+ switch tt {
|
|
|
case xml.EndTagToken, xml.StartTagCloseVoidToken:
|
|
|
ignoreTag--
|
|
|
case xml.StartTagToken:
|
|
@@ -56,19 +61,6 @@ func Sanitize(data imagedata.ImageData) (imagedata.ImageData, error) {
|
|
|
}
|
|
|
|
|
|
switch tt {
|
|
|
- case xml.ErrorToken:
|
|
|
- if l.Err() != io.EOF {
|
|
|
- cancel()
|
|
|
- return nil, newSanitizeError(l.Err())
|
|
|
- }
|
|
|
-
|
|
|
- newData := imagedata.NewFromBytesWithFormat(
|
|
|
- imagetype.SVG,
|
|
|
- buf.Bytes(),
|
|
|
- )
|
|
|
- newData.AddCancel(cancel)
|
|
|
-
|
|
|
- return newData, nil
|
|
|
case xml.StartTagToken:
|
|
|
curTagName = strings.ToLower(string(l.Text()))
|
|
|
|
|
@@ -97,4 +89,12 @@ func Sanitize(data imagedata.ImageData) (imagedata.ImageData, error) {
|
|
|
buf.Write(tdata)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ newData := imagedata.NewFromBytesWithFormat(
|
|
|
+ imagetype.SVG,
|
|
|
+ buf.Bytes(),
|
|
|
+ )
|
|
|
+ newData.AddCancel(cancel)
|
|
|
+
|
|
|
+ return newData, nil
|
|
|
}
|