Skip to content

Commit 523f3a6

Browse files
committed
Clone headers in the svg package
1 parent 9306378 commit 523f3a6

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

svg/svg.go

+15-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,19 @@ var feDropShadowTemplate = strings.TrimSpace(`
2727
</feMerge>
2828
`)
2929

30+
func cloneHeaders(src map[string]string) map[string]string {
31+
if src == nil {
32+
return nil
33+
}
34+
35+
dst := make(map[string]string, len(src))
36+
for k, v := range src {
37+
dst[k] = v
38+
}
39+
40+
return dst
41+
}
42+
3043
func Sanitize(data *imagedata.ImageData) (*imagedata.ImageData, error) {
3144
r := bytes.NewReader(data.Data)
3245
l := xml.NewLexer(parse.NewInput(r))
@@ -64,7 +77,7 @@ func Sanitize(data *imagedata.ImageData) (*imagedata.ImageData, error) {
6477
newData := imagedata.ImageData{
6578
Data: buf.Bytes(),
6679
Type: data.Type,
67-
Headers: data.Headers,
80+
Headers: cloneHeaders(data.Headers),
6881
}
6982
newData.SetCancel(cancel)
7083

@@ -196,7 +209,7 @@ func FixUnsupported(data *imagedata.ImageData) (*imagedata.ImageData, bool, erro
196209
newData := imagedata.ImageData{
197210
Data: buf.Bytes(),
198211
Type: data.Type,
199-
Headers: data.Headers,
212+
Headers: cloneHeaders(data.Headers),
200213
}
201214
newData.SetCancel(cancel)
202215

0 commit comments

Comments
 (0)