From: Yehuda Sadeh Date: Fri, 7 Jun 2013 04:47:21 +0000 (-0700) Subject: rgw: fix get_resource_mgr() to correctly identify resource X-Git-Tag: v0.64~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8d55b87f95d59dbfcfd0799c4601ca37ebb025f5;p=ceph.git 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 Reviewed-by: Greg Farnum --- diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index 48d09d69ca69..35d9b1729456 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -1183,8 +1183,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); }