From 77c7013af69729a717c80cbf54b3a9749d1bf76e Mon Sep 17 00:00:00 2001 From: hechuang Date: Wed, 3 Jan 2018 15:45:53 +0800 Subject: [PATCH] rgw: fix the return type is wrong invalid acl header will also be successful Signed-off-by: hechuang --- src/rgw/rgw_acl_s3.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/rgw/rgw_acl_s3.cc b/src/rgw/rgw_acl_s3.cc index 43a961d18606b..5f026ff354713 100644 --- a/src/rgw/rgw_acl_s3.cc +++ b/src/rgw/rgw_acl_s3.cc @@ -454,14 +454,17 @@ static const s3_acl_header acl_header_perms[] = { int RGWAccessControlPolicy_S3::create_from_headers(RGWRados *store, const RGWEnv *env, ACLOwner& _owner) { std::list grants; + int r = 0; for (const struct s3_acl_header *p = acl_header_perms; p->rgw_perm; p++) { - if (parse_acl_header(store, env, p, grants) < 0) - return false; + r = parse_acl_header(store, env, p, grants); + if (r < 0) { + return r; + } } RGWAccessControlList_S3& _acl = static_cast(acl); - int r = _acl.create_from_grants(grants); + r = _acl.create_from_grants(grants); owner = _owner; -- 2.39.5