From a4580254eb38608b4b7ae140b12bd605f0fc8802 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 14 Jan 2020 21:35:24 +0100 Subject: [PATCH] internal: check response status in Response.DecodeProp --- internal/elements.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/elements.go b/internal/elements.go index c74ab30..9c7eb91 100644 --- a/internal/elements.go +++ b/internal/elements.go @@ -11,6 +11,10 @@ import ( type Status string func (s Status) Err() error { + if s == "" { + return nil + } + parts := strings.SplitN(string(s), " ", 3) if len(parts) != 3 { return fmt.Errorf("webdav: invalid HTTP status %q: expected 3 fields", s) @@ -60,6 +64,9 @@ type Response struct { } func (resp *Response) DecodeProp(name xml.Name, v interface{}) error { + if err := resp.Status.Err(); err != nil { + return err + } for i := range resp.Propstats { propstat := &resp.Propstats[i] for j := range propstat.Prop.Raw {