Fixes: http://tracker.ceph.com/issues/19249
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit
a9ec5e8ce184e19c009863db4d3519f9d8af91bd)
Conflicts:
src/rgw/rgw_rest_swift.cc ("key" element of RGWObjEnt struct
is not a reference; fix)
while (iter != objs.end() || pref_iter != common_prefixes.end()) {
bool do_pref = false;
bool do_objs = false;
- rgw_obj_key& key = iter->key;
+ rgw_obj_key key;
+ if (iter != objs.end()) {
+ key = iter->key;
+ }
if (pref_iter == common_prefixes.end())
do_objs = true;
else if (iter == objs.end())
do_pref = true;
- else if (key.name.compare(pref_iter->first) == 0) {
+ else if (!key.empty() && key.name.compare(pref_iter->first) == 0) {
do_objs = true;
++pref_iter;
- } else if (key.name.compare(pref_iter->first) <= 0)
+ } else if (!key.empty() && key.name.compare(pref_iter->first) <= 0)
do_objs = true;
else
do_pref = true;