Fix crash if message deserialization fails

This commit is contained in:
badaix 2021-06-26 22:02:40 +02:00
parent e94b5534b7
commit fba20fb7fe
2 changed files with 7 additions and 0 deletions

View file

@ -237,6 +237,8 @@ void ClientConnection::getNextMessage(const MessageHandler<msg::BaseMessage>& ha
}
auto response = msg::factory::createMessage(base_message_, buffer_.data());
if (!response)
LOG(WARNING, LOG_TAG) << "Failed to deserialize message of type: " << base_message_.type << "\n";
for (auto iter = pendingRequests_.begin(); iter != pendingRequests_.end(); ++iter)
{
auto request = *iter;

View file

@ -124,6 +124,11 @@ void Controller::getNextMessage()
return;
}
if (!response)
{
return getNextMessage();
}
if (response->type == message_type::kWireChunk)
{
if (stream_ && decoder_)