summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@inktank.com>2013-06-06 21:47:21 -0700
committerGreg Farnum <greg@inktank.com>2013-06-07 14:09:00 -0700
commit3ea45533c18174cb49af52024dae27533971fa01 (patch)
treef02e71604910d21bb31c98900d42229d309d45f0
parent4ee638cc3b1d74e678a3f78b3a57baf57a5d407c (diff)
downloadceph-3ea45533c18174cb49af52024dae27533971fa01.tar.gz
rgw: fix get_resource_mgr() to correctly identify resource
Fixes: #5262 The original test was not comparing the correct string, ended up with the effect of just checking the substring of the uri to match the resource. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com> (cherry picked from commit 8d55b87f95d59dbfcfd0799c4601ca37ebb025f5)
-rw-r--r--src/rgw/rgw_rest.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc
index ab3927e7a62..72a9ba3b6cf 100644
--- a/src/rgw/rgw_rest.cc
+++ b/src/rgw/rgw_rest.cc
@@ -1096,8 +1096,8 @@ RGWRESTMgr *RGWRESTMgr::get_resource_mgr(struct req_state *s, const string& uri)
for (iter = resources_by_size.rbegin(); iter != resources_by_size.rend(); ++iter) {
string& resource = iter->second;
if (uri.compare(0, iter->first, resource) == 0 &&
- (resource.size() == iter->first ||
- resource[iter->first] == '/')) {
+ (uri.size() == iter->first ||
+ uri[iter->first] == '/')) {
string suffix = uri.substr(iter->first);
return resource_mgrs[resource]->get_resource_mgr(s, suffix);
}