From 4d38154f5779b01ed93430ef7405417820214796 Mon Sep 17 00:00:00 2001 From: Daniel Gryniewicz Date: Tue, 8 Jun 2021 12:59:56 -0400 Subject: [PATCH] RGW - Don't move attrs before setting them Moving the attrs into s->bucket_attrs before setting them results in setting empty attrs into the bucket. This means that reading them back later gets empty attrs, which can cause a segfault. Signed-off-by: Daniel Gryniewicz --- src/rgw/rgw_op.cc | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index ad1b0a82c9b..5c8a9b6cd56 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -7356,9 +7356,6 @@ void RGWSetAttrs::execute(optional_yield y) rgw::sal::Attrs a(attrs); op_ret = s->object->set_obj_attrs(this, s->obj_ctx, &a, nullptr, y); } else { - for (auto& iter : attrs) { - s->bucket_attrs[iter.first] = std::move(iter.second); - } op_ret = s->bucket->set_instance_attrs(this, attrs, y); } -- 2.47.3