]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix virtual bucket name handling
authorYehuda Sadeh <yehuda@hq.newdream.net>
Wed, 17 Aug 2011 19:55:50 +0000 (12:55 -0700)
committerYehuda Sadeh <yehuda@hq.newdream.net>
Wed, 17 Aug 2011 19:56:19 +0000 (12:56 -0700)
src/rgw/rgw_rest.cc

index abd18337dbf4c0c55b48ae59db4ea62f226f853c..7a6eafce1b6277603ad20f1ea77d73c3a55a622a 100644 (file)
@@ -395,7 +395,7 @@ void init_entities_from_header(struct req_state *s)
     if (pos > 0 && h[pos - 1] == '.') {
       string encoded_bucket = h.substr(0, pos-1);
       url_decode(encoded_bucket, s->bucket_str);
-      s->bucket = s->bucket_str.c_str();
+      s->bucket = strdup(s->bucket_str.c_str());
       s->host_bucket = s->bucket;
     } else {
       s->host_bucket = NULL;
@@ -473,11 +473,11 @@ void init_entities_from_header(struct req_state *s)
       goto done;
 
     url_decode(first, s->bucket_str);
-    s->bucket = s->bucket_str.c_str();
+    s->bucket = strdup(s->bucket_str.c_str());
    
     if (req.size()) {
       url_decode(req, s->object_str);
-      s->object = s->object_str.c_str();
+      s->object = strdup(s->object_str.c_str());
     }
 
     goto done;