# HG changeset patch # User František Kučera # Date 1650481182 -7200 # Node ID 65abb0376a0db68aa81b9954b8c2391c76e146fd # Parent c6ef2463e1000a06f395557679b032b7faafbd60 receive whole message, do not trim at the first 0x00 diff -r c6ef2463e100 -r 65abb0376a0d src/PosixMQ.h --- a/src/PosixMQ.h Wed Apr 20 02:26:44 2022 +0200 +++ b/src/PosixMQ.h Wed Apr 20 20:59:42 2022 +0200 @@ -58,7 +58,8 @@ memset(buffer, 0, MSG_SIZE + 1); ssize_t msgSize = mq_receive(handle, buffer, MSG_SIZE, nullptr); - if (msgSize >= 0) return std::string(buffer); + if (msgSize > sizeof (buffer))throw std::logic_error("Invalid PosixMQ message size."); + else if (msgSize >= 0) return std::string(buffer, msgSize); else throw std::logic_error("Unable to receive PosixMQ message from " + queueName + " error: " + strerror(errno)); }