diff --git a/api/logical.go b/api/logical.go index 977a41ae3..cd950a2b7 100644 --- a/api/logical.go +++ b/api/logical.go @@ -81,7 +81,7 @@ func (c *Logical) ReadWithData(path string, data map[string][]string) (*Secret, case io.EOF: return nil, nil default: - return nil, err + return nil, parseErr } if secret != nil && (len(secret.Warnings) > 0 || len(secret.Data) > 0) { return secret, nil @@ -115,7 +115,7 @@ func (c *Logical) List(path string) (*Secret, error) { case io.EOF: return nil, nil default: - return nil, err + return nil, parseErr } if secret != nil && (len(secret.Warnings) > 0 || len(secret.Data) > 0) { return secret, nil @@ -159,7 +159,7 @@ func (c *Logical) write(path string, request *Request) (*Secret, error) { case io.EOF: return nil, nil default: - return nil, err + return nil, parseErr } if secret != nil && (len(secret.Warnings) > 0 || len(secret.Data) > 0) { return secret, err @@ -206,7 +206,7 @@ func (c *Logical) DeleteWithData(path string, data map[string][]string) (*Secret case io.EOF: return nil, nil default: - return nil, err + return nil, parseErr } if secret != nil && (len(secret.Warnings) > 0 || len(secret.Data) > 0) { return secret, err @@ -259,7 +259,7 @@ func (c *Logical) Unwrap(wrappingToken string) (*Secret, error) { case io.EOF: return nil, nil default: - return nil, err + return nil, parseErr } if secret != nil && (len(secret.Warnings) > 0 || len(secret.Data) > 0) { return secret, nil diff --git a/changelog/12338.txt b/changelog/12338.txt new file mode 100644 index 000000000..6faf03eb5 --- /dev/null +++ b/changelog/12338.txt @@ -0,0 +1,3 @@ +```release-note: bug +api: Fixes storage APIs returning incorrect error when parsing responses +```