rgw/rgw_op.cc: fix potential null-deref in strcmp()

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit de7bcfd8d0)
This commit is contained in:
Danny Al-Gaaf 2015-03-05 06:04:37 +01:00 committed by Kefu Chai
parent 3e1023a697
commit f5b01515d0

View File

@ -522,6 +522,12 @@ int RGWOp::init_quota()
static bool validate_cors_rule_method(RGWCORSRule *rule, const char *req_meth) {
uint8_t flags = 0;
if (!req_meth) {
dout(5) << "req_meth is null" << dendl;
return false;
}
if (strcmp(req_meth, "GET") == 0) flags = RGW_CORS_GET;
else if (strcmp(req_meth, "POST") == 0) flags = RGW_CORS_POST;
else if (strcmp(req_meth, "PUT") == 0) flags = RGW_CORS_PUT;
@ -627,11 +633,12 @@ bool RGWOp::generate_cors_headers(string& origin, string& method, string& header
req_meth = s->info.method;
}
if (req_meth)
if (req_meth) {
method = req_meth;
/* CORS 6.2.5. */
if (!validate_cors_rule_method(rule, req_meth)) {
return false;
/* CORS 6.2.5. */
if (!validate_cors_rule_method(rule, req_meth)) {
return false;
}
}
/* CORS 6.2.4. */