From 18ea2a869791b4894f93fdafde140285f2e4fb65 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Tue, 29 Jul 2014 15:25:47 -0700 Subject: [PATCH] rgw: fix crash in swift CORS preflight request Fixes: #8586 This fixes error handling, in accordance with commit 6af5a537 that fixed the same issue for the S3 case. Signed-off-by: Yehuda Sadeh --- src/rgw/rgw_rest_swift.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/rgw/rgw_rest_swift.cc b/src/rgw/rgw_rest_swift.cc index 507a7ffc3ea1..b56207934f69 100644 --- a/src/rgw/rgw_rest_swift.cc +++ b/src/rgw/rgw_rest_swift.cc @@ -627,18 +627,16 @@ void RGWOptionsCORS_ObjStore_SWIFT::send_response() uint32_t max_age = CORS_MAX_AGE_INVALID; /*EACCES means, there is no CORS registered yet for the bucket *ENOENT means, there is no match of the Origin in the list of CORSRule - *ENOTSUPP means, the HTTP_METHOD is not supported */ if (ret == -ENOENT) ret = -EACCES; - if (ret != -EACCES) { - get_response_params(hdrs, exp_hdrs, &max_age); - } else { + if (ret < 0) { set_req_state_err(s, ret); dump_errno(s); end_header(s, NULL); return; } + get_response_params(hdrs, exp_hdrs, &max_age); dump_errno(s); dump_access_control(s, origin, req_meth, hdrs.c_str(), exp_hdrs.c_str(), max_age); end_header(s, NULL); -- 2.47.3