From e2d71823d3a13d9b4c0923ce07add2782e0e7bc8 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Sat, 5 Mar 2022 12:55:45 +0100 Subject: [PATCH] tar: Prevent file buffering from reading uninitialized data Regressed in 91fa10a0ab6bdb48e0f98d225bf87d77dcbce027. --- Userland/Utilities/tar.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Userland/Utilities/tar.cpp b/Userland/Utilities/tar.cpp index d8b1eb3ef7..e71350a854 100644 --- a/Userland/Utilities/tar.cpp +++ b/Userland/Utilities/tar.cpp @@ -100,8 +100,9 @@ ErrorOr serenity_main(Main::Arguments arguments) int fd = TRY(Core::System::open(absolute_path, O_CREAT | O_WRONLY, header.mode())); Array buffer; - while (file_stream.read(buffer) > 0) - TRY(Core::System::write(fd, buffer.span())); + size_t bytes_read; + while ((bytes_read = file_stream.read(buffer)) > 0) + TRY(Core::System::write(fd, buffer.span().slice(0, bytes_read))); TRY(Core::System::close(fd)); break;