From 7a739d82cfcdf57df178be64ee64b53e0766c3a1 Mon Sep 17 00:00:00 2001 From: leonrayang Date: Sat, 9 Dec 2023 13:44:19 +0800 Subject: [PATCH] fix(object): unmarshal may return nil althrough no error happend Signed-off-by: leonrayang --- objectnode/acl_api.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/objectnode/acl_api.go b/objectnode/acl_api.go index f59203d2a..114329fd6 100644 --- a/objectnode/acl_api.go +++ b/objectnode/acl_api.go @@ -17,6 +17,7 @@ package objectnode import ( "encoding/json" "encoding/xml" + "fmt" "io" "net/http" "strings" @@ -196,6 +197,9 @@ func getObjectACL(vol *Volume, path string, needDefault bool) (*AccessControlPol if err = json.Unmarshal(data, &acp); err != nil { err = xml.Unmarshal(data, &acp) } + if err == nil && acp == nil { + err = fmt.Errorf("data unmarshal failed") + } } else if needDefault { acp = CreateDefaultACL(vol.owner) }