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 <seenafallah@gmail.com>
(cherry picked from commit
b92d14a0aa9d6d0701cc51edb29a44e14af01aef)
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;