From 84d9078bd93cae5dce233e0db17ebea8f6213f69 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Sun, 17 Dec 2023 19:32:05 +0200 Subject: [PATCH] Throw exception instead of failing with SIGSEGV --- lib/serializer/Connection.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/serializer/Connection.cpp b/lib/serializer/Connection.cpp index de5f3b85d..ed0625296 100644 --- a/lib/serializer/Connection.cpp +++ b/lib/serializer/Connection.cpp @@ -148,6 +148,9 @@ void CConnection::flushBuffers() if(!enableBufferedWrite) return; + if (!socket) + throw std::runtime_error("Can't write to closed socket!"); + try { asio::write(*socket, connectionBuffers->writeBuffer); @@ -164,6 +167,9 @@ void CConnection::flushBuffers() int CConnection::write(const void * data, unsigned size) { + if (!socket) + throw std::runtime_error("Can't write to closed socket!"); + try { if(enableBufferedWrite)