diff options
| author | Dan Engelbrecht <[email protected]> | 2023-02-21 14:07:34 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-02-21 05:07:34 -0800 |
| commit | a4f9a93969d8d2dd49632d9d51117153e749a77e (patch) | |
| tree | 03c34bf5a373f5d58dd49a8f459b1c98f2bb0f34 /zenserver | |
| parent | add `--showmethodstats` option for rpc replay to show method statistics (#233) (diff) | |
| download | zen-a4f9a93969d8d2dd49632d9d51117153e749a77e.tar.xz zen-a4f9a93969d8d2dd49632d9d51117153e749a77e.zip | |
UE 177395 - fix crash when using asio http server and requesting info on non-existing chunk (#235)
* Dont' write httpreq responses with content type text for empty strings
Diffstat (limited to 'zenserver')
| -rw-r--r-- | zenserver/projectstore/projectstore.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/zenserver/projectstore/projectstore.cpp b/zenserver/projectstore/projectstore.cpp index c3fba7dff..184bba022 100644 --- a/zenserver/projectstore/projectstore.cpp +++ b/zenserver/projectstore/projectstore.cpp @@ -2423,6 +2423,10 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects, static_cast<int>(Result.first), Result.second); } + if (Result.second.empty()) + { + return HttpReq.WriteResponse(Result.first); + } return HttpReq.WriteResponse(Result.first, HttpContentType::kText, Result.second); }, HttpVerb::kGet); @@ -2454,6 +2458,10 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects, static_cast<int>(Result.first), Result.second); } + if (Result.second.empty()) + { + return HttpReq.WriteResponse(Result.first); + } return HttpReq.WriteResponse(Result.first, HttpContentType::kText, Result.second); }, HttpVerb::kGet); @@ -2518,6 +2526,10 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects, static_cast<int>(Result.first), Result.second); } + if (Result.second.empty()) + { + return HttpReq.WriteResponse(Result.first); + } return HttpReq.WriteResponse(Result.first, HttpContentType::kText, Result.second); }, HttpVerb::kGet | HttpVerb::kHead); @@ -2557,6 +2569,10 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects, static_cast<int>(Result.first), Result.second); } + if (Result.second.empty()) + { + return HttpReq.WriteResponse(Result.first); + } return HttpReq.WriteResponse(Result.first, HttpContentType::kText, Result.second); } case HttpVerb::kPost: @@ -2575,6 +2591,10 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects, static_cast<int>(Result.first), Result.second); } + if (Result.second.empty()) + { + return HttpReq.WriteResponse(Result.first); + } return HttpReq.WriteResponse(Result.first, HttpContentType::kText, Result.second); } break; @@ -3107,6 +3127,10 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects, { return HttpReq.WriteResponse(HttpResponseCode::OK, Response); } + if (Result.second.empty()) + { + return HttpReq.WriteResponse(Result.first); + } return HttpReq.WriteResponse(Result.first, HttpContentType::kText, Result.second); }, HttpVerb::kPost); @@ -3131,6 +3155,10 @@ HttpProjectService::HttpProjectService(CidStore& Store, ProjectStore* Projects, { return HttpReq.WriteResponse(HttpResponseCode::OK, Response); } + if (Result.second.empty()) + { + return HttpReq.WriteResponse(Result.first); + } return HttpReq.WriteResponse(Result.first, HttpContentType::kText, Result.second); }, HttpVerb::kGet); |