From d96ddd06d4eb379efeef1aebd71ad4d26030eacd Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Sun, 8 May 2022 16:08:43 +0200 Subject: [PATCH] fix: Check for short reads in Reader::read_str (#1068) --- src/core/Reader.hpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/Reader.hpp b/src/core/Reader.hpp index a352b9a54..291c35627 100644 --- a/src/core/Reader.hpp +++ b/src/core/Reader.hpp @@ -72,7 +72,12 @@ inline std::string Reader::read_str(const size_t length) { std::string value(length, 0); - read(&value[0], length); + if (length > 0) { + const auto bytes_read = read(&value[0], length); + if (bytes_read != length) { + throw core::Error("Read underflow"); + } + } return value; } -- 2.47.2