]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: Guard against malformed bucket URLs 47191/head
authorAdam C. Emerson <aemerson@redhat.com>
Fri, 8 Jul 2022 18:58:16 +0000 (14:58 -0400)
committerAdam C. Emerson <aemerson@redhat.com>
Wed, 20 Jul 2022 17:05:31 +0000 (13:05 -0400)
Misplaced colons can result in radosgw thinking is has a bucket URL
but with no bucket name, leading to a crash later on.

Fixes: https://tracker.ceph.com/issues/55765
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 3ee9a3b41a289a926fed8b8927ca2a93b4f120a6)
Fixes: https://tracker.ceph.com/issues/56585
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
src/rgw/rgw_common.cc

index cf248cbefe03be4be09a17e81042e65a2e353114..b043750e76bc8eceb265e23d6ac42087642d6e8a 100644 (file)
@@ -1297,6 +1297,11 @@ bool verify_bucket_permission_no_policy(const DoutPrefixProvider* dpp, struct re
 
 bool verify_bucket_permission(const DoutPrefixProvider* dpp, struct req_state * const s, const uint64_t op)
 {
+  if (rgw::sal::Bucket::empty(s->bucket)) {
+    // request is missing a bucket name
+    return false;
+  }
+
   perm_state_from_req_state ps(s);
 
   return verify_bucket_permission(dpp,