diff --git a/api/logical.go b/api/logical.go index 6e9d1a129d..0d5e7d495a 100644 --- a/api/logical.go +++ b/api/logical.go @@ -135,13 +135,17 @@ func (c *Logical) Unwrap(wrappingToken string) (*Secret, error) { } resp, err := c.c.RawRequest(r) + if resp != nil { + defer resp.Body.Close() + } + if err != nil { + if resp != nil && resp.StatusCode != 404 { + return nil, err + } + } if resp == nil { return nil, nil } - defer resp.Body.Close() - if err != nil && resp.StatusCode != 404 { - return nil, err - } switch resp.StatusCode { case http.StatusOK: // New method is supported