diff --git a/src/common.zig b/src/common.zig index d927d473660dd846df5ef274752f08f49aa48acb..b2309ea4f6e3b427596c03dda9a9698ca880d04b 100644 --- a/src/common.zig +++ b/src/common.zig @@ -222,7 +222,7 @@ pub fn get_module_from_dep(d: *zigmod.Dep, cachepath: string, options: *CollectO return zigmod.Module{ .alloc = gpa, .is_sys_lib = true, - .id = try u.do_hash(std.crypto.hash.sha3.Sha3_384, d.path), + .id = try u.do_hash(gpa, std.crypto.hash.sha3.Sha3_384, d.path), .name = d.path, .only_os = d.only_os, .except_os = d.except_os, diff --git a/src/util/funcs.zig b/src/util/funcs.zig index 34723ab6ec1957643959eff22692a0290badf65b..f175d581cf9721a0bca1c1a426420bcf8d8ad856 100644 --- a/src/util/funcs.zig +++ b/src/util/funcs.zig @@ -214,9 +214,9 @@ pub fn validate_hash(alloc: *std.mem.Allocator, input: string, file_path: string const data = try file.reader().readAllAlloc(alloc, gb); const expected = hash.string; const actual = switch (hash.id) { - .blake3 => try do_hash(std.crypto.hash.Blake3, data), - .sha256 => try do_hash(std.crypto.hash.sha2.Sha256, data), - .sha512 => try do_hash(std.crypto.hash.sha2.Sha512, data), + .blake3 => try do_hash(alloc, std.crypto.hash.Blake3, data), + .sha256 => try do_hash(alloc, std.crypto.hash.sha2.Sha256, data), + .sha512 => try do_hash(alloc, std.crypto.hash.sha2.Sha512, data), }; const result = std.mem.startsWith(u8, actual, expected); if (!result) { @@ -225,12 +225,12 @@ pub fn validate_hash(alloc: *std.mem.Allocator, input: string, file_path: string return result; } -pub fn do_hash(comptime algo: type, data: string) !string { +pub fn do_hash(alloc: *std.mem.Allocator, comptime algo: type, data: string) !string { const h = &algo.init(.{}); var out: [algo.digest_length]u8 = undefined; h.update(data); h.final(&out); - const hex = try std.fmt.allocPrint(gpa, "{x}", .{std.fmt.fmtSliceHexLower(out[0..])}); + const hex = try std.fmt.allocPrint(alloc, "{x}", .{std.fmt.fmtSliceHexLower(out[0..])}); return hex; }