From b89f9869a5ab7f005825cfb1a9e1054cb7e85609 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Thu, 19 Aug 2021 15:01:08 -0400 Subject: [PATCH] rgw: use existing s->bucket in s3 website retarget() we should have already looked up s->bucket and s->object during auth since s->object may store a raw pointer to s->bucket before this, overwriting s->bucket here would leave a dangling pointer and Object's operator<<() would crash Fixes: https://tracker.ceph.com/issues/51491 Signed-off-by: Casey Bodley (cherry picked from commit 2598e062d04d7fe4477aa096c19ebebfa77d19ea) --- src/rgw/rgw_rest_s3.cc | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index 33ec35c1cfa85..eaf407735e1e4 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -4944,14 +4944,6 @@ int RGWHandler_REST_S3Website::retarget(RGWOp* op, RGWOp** new_op, optional_yiel if (!(s->prot_flags & RGW_REST_WEBSITE)) return 0; - int ret = store->get_bucket(s, nullptr, s->bucket_tenant, s->bucket_name, &s->bucket, y); - if (ret < 0) { - // TODO-FUTURE: if the bucket does not exist, maybe expose it here? - return -ERR_NO_SUCH_BUCKET; - } - - s->bucket_attrs = s->bucket->get_attrs(); - if (!s->bucket->get_info().has_website) { // TODO-FUTURE: if the bucket has no WebsiteConfig, expose it here return -ERR_NO_SUCH_WEBSITE_CONFIGURATION; -- 2.47.3