]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix tenant/bucket parsing
authorYehuda Sadeh <yehuda@redhat.com>
Wed, 25 Nov 2015 18:31:55 +0000 (10:31 -0800)
committerYehuda Sadeh <yehuda@redhat.com>
Wed, 25 Nov 2015 19:16:06 +0000 (11:16 -0800)
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/rgw/rgw_bucket.cc
src/rgw/rgw_metadata.h

index 304448c79524ec80a47f65cf338675155e03f321..157fd085aa60c4239aac4cf9e8616fd54f323a37 100644 (file)
@@ -60,7 +60,11 @@ void rgw_make_bucket_entry_name(const string& tenant_name, const string& bucket_
 void rgw_parse_url_bucket(const string &bucket,
                           string &tenant_name, string &bucket_name) {
   int pos = bucket.find(':');
-  tenant_name = bucket.substr(0, pos);
+  if (pos >= 0) {
+    tenant_name = bucket.substr(0, pos);
+  } else {
+    tenant_name.clear();
+  }
   bucket_name = bucket.substr(pos + 1);
 }
 
index ed21dc59487c6d2f90787d4835f5e8e2bc0184a4..bb77e6561b21ca6097a642c6a0288d66c3dd4119 100644 (file)
@@ -116,7 +116,11 @@ protected:
                            string &tenant_name, string &bucket_name)
   {
     int pos = bucket.find('/');
-    tenant_name = bucket.substr(0, pos);
+    if (pos >= 0) {
+      tenant_name = bucket.substr(0, pos);
+    } else {
+      tenant_name.clear();
+    }
     bucket_name = bucket.substr(pos + 1);
   }
 };