From: Seena Fallah Date: Thu, 10 Oct 2024 20:55:44 +0000 (+0200) Subject: rgw: initialize createparams zone_placement to avoid garbage value X-Git-Tag: v20.0.0~606^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b92d14a0aa9d6d0701cc51edb29a44e14af01aef;p=ceph.git rgw: initialize createparams zone_placement to avoid garbage value When creating a bucket from a secondary zonegroup and forwarding the request to the master zonegroup (i.e., when `bucket_zonegroup != &my_zonegroup`), the `createparams.zone_placement` may remain uninitialized. This can lead to garbage values and result in a segmentation fault due to invalid memory access. By explicitly initializing `zone_placement` to `nullptr`, we can eliminate this issue in cases where zone_placement is referenced like `init_default_bucket_layout`. Fixes: https://tracker.ceph.com/issues/68500 Signed-off-by: Seena Fallah --- diff --git a/src/rgw/rgw_sal.h b/src/rgw/rgw_sal.h index 769d74354423..365dbb286344 100644 --- a/src/rgw/rgw_sal.h +++ b/src/rgw/rgw_sal.h @@ -874,7 +874,7 @@ class Bucket { std::string zonegroup_id; rgw_placement_rule placement_rule; // zone placement is optional on buckets created for another zonegroup - const RGWZonePlacementInfo* zone_placement; + const RGWZonePlacementInfo* zone_placement = nullptr; RGWAccessControlPolicy policy; Attrs attrs; bool obj_lock_enabled = false;