From: Yehuda Sadeh Date: Thu, 20 Oct 2016 17:17:36 +0000 (-0700) Subject: rgw: handle empty POST condition X-Git-Tag: v11.1.0~563^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=23cb642243e09ca4a8e104f62a3bb7b2cbb6ea12;p=ceph.git rgw: handle empty POST condition Fixes: http://tracker.ceph.com/issues/17635 Before accessing json entity, need to check that iterator is valid. If there is no entry return appropriate error code. Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_policy_s3.cc b/src/rgw/rgw_policy_s3.cc index 3843511775d3..8af70a832223 100644 --- a/src/rgw/rgw_policy_s3.cc +++ b/src/rgw/rgw_policy_s3.cc @@ -286,11 +286,13 @@ int RGWPolicy::from_json(bufferlist& bl, string& err_msg) int r = add_condition(v[0], v[1], v[2], err_msg); if (r < 0) return r; - } else { + } else if (!citer.end()) { JSONObj *c = *citer; dout(0) << "adding simple_check: " << c->get_name() << " : " << c->get_data() << dendl; add_simple_check(c->get_name(), c->get_data()); + } else { + return -EINVAL; } } return 0;