Unverified Commit 774d4cc7 authored by Stan Kladko's avatar Stan Kladko Committed by GitHub

Merge pull request #373 from skalenetwork/bug/SKALE-4939-fix-crash-on-zmq-invalid-message

Bug/skale 4939 fix crash on zmq invalid message
parents 2d23d246 e8dd9e98
......@@ -219,7 +219,7 @@ pair <string, shared_ptr<zmq::message_t>> ZMQServer::receiveMessage() {
if (!identity->more()) {
checkForExit();
// something terrible happened
spdlog::error("Fatal error: zmq_msg_more(identity) returned false. Existing.");
spdlog::error("Fatal error: zmq_msg_more(identity) returned false. Exiting.");
exit(-12);
}
......@@ -234,8 +234,6 @@ pair <string, shared_ptr<zmq::message_t>> ZMQServer::receiveMessage() {
auto result = string((char *) reqMsg->data(), reqMsg->size());
CHECK_STATE(result.front() == '{')
CHECK_STATE(result.back() == '}')
return {result, identity};
}
......@@ -276,7 +274,7 @@ void ZMQServer::doOneServerLoop() {
Json::Value result;
result["status"] = ZMQ_SERVER_ERROR;
shared_ptr <zmq::message_t> identity = nullptr;
shared_ptr <zmq::message_t> identity = make_shared<zmq::message_t>();
string msgStr;
try {
......@@ -313,7 +311,7 @@ void ZMQServer::doOneServerLoop() {
incomingQueue.at(index).enqueue(element);
}
} catch (ExitRequestedException) {
} catch (ExitRequestedException&) {
throw;
} catch (exception &e) {
checkForExit();
......@@ -400,4 +398,4 @@ void ZMQServer::workerThreadMessageProcessLoop(ZMQServer *_agent, uint64_t _thre
}
spdlog::info("Exit requested. Exiting worker thread:" + to_string(_threadNumber));
}
\ No newline at end of file
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment