aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenserver')
-rw-r--r--src/zenserver/projectstore/projectstore.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/zenserver/projectstore/projectstore.cpp b/src/zenserver/projectstore/projectstore.cpp
index 6bb543d63..ea219f9b0 100644
--- a/src/zenserver/projectstore/projectstore.cpp
+++ b/src/zenserver/projectstore/projectstore.cpp
@@ -2838,8 +2838,18 @@ ProjectStore::Rpc(HttpServerRequest& HttpReq,
}
break;
case HttpContentType::kCbPackage:
- Package = ParsePackageMessage(Payload);
- Cb = Package.GetObject();
+ try
+ {
+ Package = ParsePackageMessage(Payload);
+ Cb = Package.GetObject();
+ }
+ catch (const std::invalid_argument& ex)
+ {
+ HttpReq.WriteResponse(HttpResponseCode::BadRequest,
+ HttpContentType::kText,
+ fmt::format("Failed to parse package request, reason: '{}'", ex.what()));
+ return false;
+ }
if (!Cb)
{
HttpReq.WriteResponse(HttpResponseCode::BadRequest,