From 2ceb06daefaa01c1662f38ff3ca729bc0f4cea99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Kubern=C3=A1t?= Date: Mon, 4 Nov 2024 17:31:27 +0100 Subject: [PATCH] FrameReader: Fix leak --- libshviotqt/src/rpc/socket.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libshviotqt/src/rpc/socket.cpp b/libshviotqt/src/rpc/socket.cpp index eba82884..83d9b4c0 100644 --- a/libshviotqt/src/rpc/socket.cpp +++ b/libshviotqt/src/rpc/socket.cpp @@ -75,14 +75,14 @@ int FrameReader::tryToReadMeta(std::istringstream &in) static constexpr auto protocol_chainpack = static_cast(shv::chainpack::Rpc::ProtocolType::ChainPack); static constexpr auto protocol_cpon = static_cast(shv::chainpack::Rpc::ProtocolType::Cpon); auto protocol = in.get(); - AbstractStreamReader *rd = nullptr; + std::unique_ptr rd; if (protocol == protocol_cpon) { m_protocol = shv::chainpack::Rpc::ProtocolType::Cpon; - rd = new chainpack::CponReader(in); + rd = std::make_unique(in); } else if (protocol == protocol_chainpack) { m_protocol = shv::chainpack::Rpc::ProtocolType::ChainPack; - rd = new chainpack::ChainPackReader(in); + rd = std::make_unique(in); } if (rd) { try {