fix: -Wunsafe-buffer-usage warnings in asar file IO (#43648)

* fix: -Wunsafe-buffer-usage warnings in ScopedTemporaryFile::InitFromFile()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* fix: -Wunsafe-buffer-usage warnings in Archive::Init()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
trop[bot] 2024-09-09 17:58:57 -05:00 committed by GitHub
parent e8389927c8
commit f427e05d82
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 25 deletions

View file

@ -63,20 +63,15 @@ bool ScopedTemporaryFile::InitFromFile(
return false;
electron::ScopedAllowBlockingForElectron allow_blocking;
std::vector<char> buf(size);
int len = src->Read(offset, buf.data(), buf.size());
if (len != static_cast<int>(size))
std::vector<uint8_t> buf(size);
if (!src->ReadAndCheck(offset, buf))
return false;
if (integrity)
ValidateIntegrityOrDie(base::as_byte_span(buf), *integrity);
ValidateIntegrityOrDie(buf, *integrity);
base::File dest(path_, base::File::FLAG_OPEN | base::File::FLAG_WRITE);
if (!dest.IsValid())
return false;
return dest.WriteAtCurrentPos(buf.data(), buf.size()) ==
static_cast<int>(size);
return dest.IsValid() && dest.WriteAtCurrentPosAndCheck(buf);
}
} // namespace asar