From: weiqiaomiao Date: Mon, 27 Jun 2016 11:40:13 +0000 (+0800) Subject: rgw: should delete in_stream_req if conn->get_obj(...) return not zero value X-Git-Tag: v12.0.3~88^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=494fbe9ce595b0b59597bd426cc3bc4d14ba6644;p=ceph.git rgw: should delete in_stream_req if conn->get_obj(...) return not zero value Signed-off-by: weiqiaomiao --- diff --git a/src/rgw/rgw_rest_conn.cc b/src/rgw/rgw_rest_conn.cc index ead41394f47..509df4ee280 100644 --- a/src/rgw/rgw_rest_conn.cc +++ b/src/rgw/rgw_rest_conn.cc @@ -163,7 +163,13 @@ int RGWRESTConn::get_obj(const rgw_user& uid, req_info *info /* optional */, rgw set_header(mod_pg_ver, extra_headers, "HTTP_DEST_PG_VER"); } - return (*req)->get_obj(key, extra_headers, obj); + int r = (*req)->get_obj(key, extra_headers, obj); + if (r < 0) { + delete *req; + *req = nullptr; + } + + return r; } int RGWRESTConn::complete_request(RGWRESTStreamReadRequest *req, string& etag, real_time *mtime, map& attrs)