refactor: take a uint8_t
span in ValidateIntegrityOrDie()
(#43613)
refactor: take a uint8_t span in ValidateIntegrityOrDie() Doing some groundwork for fixing unsafe base::File() APIs: - Change ValidateIntegrityOrDie() to take a span<const uint8_t> arg. We'll need this to migrate asar's base::File API calls away from the ones tagged `UNSAFE_BUFFER_USAGE` because the safe counterparts use span<uint8_t> too. - Simplify ValidateIntegrityOrDie()'s implementation by using crypto::SHA256Hash() instead of reinventing the wheel. 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:
parent
1c89eced62
commit
39258d20d4
4 changed files with 11 additions and 20 deletions
|
@ -251,9 +251,8 @@ bool Archive::Init() {
|
|||
// Currently we only support the sha256 algorithm, we can add support for
|
||||
// more below ensure we read them in preference order from most secure to
|
||||
// least
|
||||
if (integrity.value().algorithm != HashAlgorithm::kNone) {
|
||||
ValidateIntegrityOrDie(header.c_str(), header.length(),
|
||||
integrity.value());
|
||||
if (integrity->algorithm != HashAlgorithm::kNone) {
|
||||
ValidateIntegrityOrDie(base::as_byte_span(header), *integrity);
|
||||
} else {
|
||||
LOG(FATAL) << "No eligible hash for validatable asar archive: "
|
||||
<< RelativePath().value();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue