aboutsummaryrefslogtreecommitdiff
path: root/zenserver
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2023-02-21 14:07:34 +0100
committerGitHub <[email protected]>2023-02-21 05:07:34 -0800
commita4f9a93969d8d2dd49632d9d51117153e749a77e (patch)
tree03c34bf5a373f5d58dd49a8f459b1c98f2bb0f34 /zenserver
parentadd `--showmethodstats` option for rpc replay to show method statistics (#233) (diff)
downloadzen-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.cpp28
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);