diff options
author | Yehuda Sadeh <yehuda@inktank.com> | 2013-02-01 10:56:11 -0800 |
---|---|---|
committer | Yehuda Sadeh <yehuda@inktank.com> | 2013-02-04 11:23:30 -0800 |
commit | 9019fbbe8f84f530b6a8700dfe99dfeb03e0ed3d (patch) | |
tree | deb1506afdedbc03a785e9010f2437bfe83ed275 | |
parent | e0acc330cb26e2cb47f21ce08b5bffc5c6c3c539 (diff) | |
download | ceph-9019fbbe8f84f530b6a8700dfe99dfeb03e0ed3d.tar.gz |
rgw: fix setting of NULL to string
Fixes: #3777
s->env->get() returns char * and not string and can return NULL.
Also, remove some old unused code.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
-rw-r--r-- | src/rgw/rgw_rest.cc | 17 | ||||
-rw-r--r-- | src/rgw/rgw_rest_s3.cc | 28 |
2 files changed, 8 insertions, 37 deletions
diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index 3b553f3b0c9..72aab14c522 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -276,16 +276,15 @@ void dump_uri_from_state(struct req_state *s) if (strcmp(s->request_uri.c_str(), "/") == 0) { string location = "http://"; - location += s->env->get("SERVER_NAME"); - if (!location.empty()) { + string server = s->env->get("SERVER_NAME", "<SERVER_NAME>"); + location.append(server); + location += "/"; + if (!s->bucket_name_str.empty()) { + location += s->bucket_name_str; location += "/"; - if (!s->bucket_name_str.empty()) { - location += s->bucket_name_str; - location += "/"; - if (!s->object_str.empty()) { - location += s->object_str; - s->cio->print("Location: %s\n", location.c_str()); - } + if (!s->object_str.empty()) { + location += s->object_str; + s->cio->print("Location: %s\n", location.c_str()); } } } diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index dfa6827c7ff..bdba0e9c8f4 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -18,34 +18,6 @@ using namespace ceph::crypto; -void dump_common_s3_headers(struct req_state *s, const char *etag, - size_t content_len, const char *conn_status) -{ - // how many elements do we expect to include in the response - unsigned int expected_var_len = 4; - map<string, string> head_var; - - utime_t date = ceph_clock_now(s->cct); - if (!date.is_zero()) { - char buf[TIME_BUF_SIZE]; - date.sprintf(buf, TIME_BUF_SIZE); - head_var["date"] = buf; - } - - head_var["etag"] = etag; - head_var["conn_stat"] = conn_status; - head_var["server"] = s->env->get("HTTP_HOST"); - - // if we have all the variables we want go ahead and dump - if (head_var.size() == expected_var_len) { - dump_pair(s, "Date", head_var["date"].c_str()); - dump_etag(s, head_var["etag"].c_str()); - dump_content_length(s, content_len); - dump_pair(s, "Connection", head_var["conn_stat"].c_str()); - dump_pair(s, "Server", head_var["server"].c_str()); - } -} - void list_all_buckets_start(struct req_state *s) { s->formatter->open_array_section_in_ns("ListAllMyBucketsResult", |