mirror of
https://github.com/imgproxy/imgproxy.git
synced 2025-10-04 18:33:36 +02:00
Clone headers in the svg package
This commit is contained in:
17
svg/svg.go
17
svg/svg.go
@@ -27,6 +27,19 @@ var feDropShadowTemplate = strings.TrimSpace(`
|
||||
</feMerge>
|
||||
`)
|
||||
|
||||
func cloneHeaders(src map[string]string) map[string]string {
|
||||
if src == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
dst := make(map[string]string, len(src))
|
||||
for k, v := range src {
|
||||
dst[k] = v
|
||||
}
|
||||
|
||||
return dst
|
||||
}
|
||||
|
||||
func Sanitize(data *imagedata.ImageData) (*imagedata.ImageData, error) {
|
||||
r := bytes.NewReader(data.Data)
|
||||
l := xml.NewLexer(parse.NewInput(r))
|
||||
@@ -64,7 +77,7 @@ func Sanitize(data *imagedata.ImageData) (*imagedata.ImageData, error) {
|
||||
newData := imagedata.ImageData{
|
||||
Data: buf.Bytes(),
|
||||
Type: data.Type,
|
||||
Headers: data.Headers,
|
||||
Headers: cloneHeaders(data.Headers),
|
||||
}
|
||||
newData.SetCancel(cancel)
|
||||
|
||||
@@ -196,7 +209,7 @@ func FixUnsupported(data *imagedata.ImageData) (*imagedata.ImageData, bool, erro
|
||||
newData := imagedata.ImageData{
|
||||
Data: buf.Bytes(),
|
||||
Type: data.Type,
|
||||
Headers: data.Headers,
|
||||
Headers: cloneHeaders(data.Headers),
|
||||
}
|
||||
newData.SetCancel(cancel)
|
||||
|
||||
|
Reference in New Issue
Block a user