aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-01-21 19:04:14 +0100
committerShauren <shauren.trinity@gmail.com>2018-01-21 19:04:14 +0100
commitfe04f2388f785cd7faf05c239543af3a41c28b96 (patch)
tree71a7e1c603b6cbb285c3b6be5a88b7f32eb92d40
parentd9f74278f76d62738ec6a6e8a2b8a98c05cf76af (diff)
Core/Bnet: Fixed crash that can happen when sending malformed requests
-rw-r--r--src/server/bnetserver/REST/LoginRESTService.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/bnetserver/REST/LoginRESTService.cpp b/src/server/bnetserver/REST/LoginRESTService.cpp
index e256c9f10a5..d789ce6acac 100644
--- a/src/server/bnetserver/REST/LoginRESTService.cpp
+++ b/src/server/bnetserver/REST/LoginRESTService.cpp
@@ -311,12 +311,12 @@ int32 LoginRESTService::HandleGetPortal(std::shared_ptr<AsyncRequest> request)
int32 LoginRESTService::HandlePostLogin(std::shared_ptr<AsyncRequest> request)
{
- char *buf;
- size_t len;
+ char* buf = nullptr;
+ size_t len = 0;
soap_http_body(request->GetClient(), &buf, &len);
Battlenet::JSON::Login::LoginForm loginForm;
- if (!JSON::Deserialize(buf, &loginForm))
+ if (!buf || !JSON::Deserialize(buf, &loginForm))
{
ResponseCodePlugin::GetForClient(request->GetClient())->ErrorCode = 400;