]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw_rest: don't leak formatters
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Wed, 3 Aug 2011 18:39:40 +0000 (11:39 -0700)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Wed, 3 Aug 2011 18:39:40 +0000 (11:39 -0700)
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
src/rgw/rgw_rest.cc

index 4ce12f1d1351aaf27bc0429a4bbc18acead938c3..4468f72ab2e3045d7351508bf5dc8cfb687b8f5a 100644 (file)
@@ -446,13 +446,16 @@ void init_entities_from_header(struct req_state *s)
 
   if (s->prot_flags & RGW_REST_OPENSTACK) {
     s->format = 0;
+    delete s->formatter;
     s->formatter = new RGWFormatter_Plain;
     string format_str = s->args.get("format");
     if (format_str.compare("xml") == 0) {
       s->format = RGW_FORMAT_XML;
+      delete s->formatter;
       s->formatter = new RGWFormatter_XML;
     } else if (format_str.compare("json") == 0) {
       s->format = RGW_FORMAT_JSON;
+      delete s->formatter;
       s->formatter = new RGWFormatter_JSON;
     }
   }