From 3c14051fbed5ce184a48121bfd97bd511c75d29c Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Wed, 15 Sep 2010 16:22:29 -0700 Subject: [PATCH] rgw: fix cleanup for certain ops This fixes bug #412 --- src/rgw/rgw_op.h | 12 ++++++++++++ src/rgw/rgw_user.h | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h index 7fbca24878381..a993afd277366 100644 --- a/src/rgw/rgw_op.h +++ b/src/rgw/rgw_op.h @@ -74,13 +74,24 @@ public: virtual void init(struct req_state *s) { RGWOp::init(s); + range_str = NULL; + if_mod = NULL; + if_unmod = NULL; + if_match = NULL; + if_nomatch = NULL; ofs = 0; len = 0; total_len = 0; end = -1; + mod_time = 0; + lastmod = 0; + unmod_time = 0; mod_ptr = NULL; unmod_ptr = NULL; + attrs.clear(); data = NULL; + ret = 0; + get_data = false; } void set_get_data(bool get_data) { this->get_data = get_data; @@ -99,6 +110,7 @@ protected: public: virtual void init(struct req_state *s) { RGWOp::init(s); + buckets.clear(); } RGWListBuckets() {} ~RGWListBuckets() {} diff --git a/src/rgw/rgw_user.h b/src/rgw/rgw_user.h index 1fc4ec3f2454e..6cfda3021c340 100644 --- a/src/rgw/rgw_user.h +++ b/src/rgw/rgw_user.h @@ -97,6 +97,11 @@ public: * Get the user's buckets as a map. */ map& get_buckets() { return buckets; } + + /** + * Cleanup data structure + */ + void clear() { buckets.clear(); } }; WRITE_CLASS_ENCODER(RGWUserBuckets) -- 2.39.5