From 1311524757801235d98d0c39b6774c1ab21548b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=97=8B=E9=A3=8Elc?= Date: Fri, 20 Dec 2024 10:59:21 +0800 Subject: [PATCH] modify Signed-off-by: liuchang --- hapsigntool_cpp/utils/src/file_utils.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hapsigntool_cpp/utils/src/file_utils.cpp b/hapsigntool_cpp/utils/src/file_utils.cpp index af66c7fe..0e1d3a44 100644 --- a/hapsigntool_cpp/utils/src/file_utils.cpp +++ b/hapsigntool_cpp/utils/src/file_utils.cpp @@ -101,6 +101,10 @@ int FileUtils::Read(std::ifstream& input, std::string& ret) std::string buffer(FileUtils::FILE_BUFFER_BLOCK, 0); while (input) { input.read(&buffer[0], buffer.size()); + if (input.fail() && !input.eof()) { + SIGNATURE_TOOLS_LOGE("error occurred while reading data"); + return IO_ERROR; + } ret.append(&buffer[0], input.gcount()); } return RET_OK; @@ -265,6 +269,11 @@ int FileUtils::WriteInputToOutPut(std::ifstream& input, std::ofstream& output, s while (input) { int min = std::min(static_cast(length), FILE_BUFFER_BLOCK); input.read(buf, min); + if (input.fail() && !input.eof()) { + SIGNATURE_TOOLS_LOGE("read error!"); + delete[] buf; + return IO_ERROR; + } length -= input.gcount(); output.write(buf, min); if (!output.good()) { -- Gitee