From 259abe53bc7669c71a78c4f6b887e43f4004cb66 Mon Sep 17 00:00:00 2001 From: hunili Date: Thu, 6 Jun 2024 18:06:20 +0800 Subject: [PATCH] Write crash issue: https://gitee.com/openharmony/filemanagement_app_file_service/issues/I9VS3Y Signed-off-by: hunili --- frameworks/native/backup_ext/src/tar_file.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frameworks/native/backup_ext/src/tar_file.cpp b/frameworks/native/backup_ext/src/tar_file.cpp index 4aa61f850..e01237820 100644 --- a/frameworks/native/backup_ext/src/tar_file.cpp +++ b/frameworks/native/backup_ext/src/tar_file.cpp @@ -419,8 +419,12 @@ int TarFile::WriteTarHeader(TarHeader &header) int TarFile::WriteAll(const vector &buf, size_t len) { size_t count = 0; - while (count < len) { - auto i = fwrite(&buf[0] + count, sizeof(char), len - count, currentTarFile_); + size_t endLen = buf.size(); + if (endLen > len) { + endLen = len; + } + while (count < endLen) { + auto i = fwrite(&buf[0] + count, sizeof(char), endLen - count, currentTarFile_); if (i < 1) { HILOGE("Failed to fwrite tar file, err = %{public}d", errno); return count; -- Gitee