tidy: use std.mem.zeroes instead of loop or memset (#8138)

* use std.mem.zeroes instead of loop or memset

* Update src/bun.js/api/bun.zig

---------

Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
This commit is contained in:
Meghan Denny
2024-01-12 23:56:51 -08:00
committed by GitHub
parent 9fa13aec09
commit 065eae5a95
4 changed files with 13 additions and 43 deletions

View File

@@ -2447,15 +2447,7 @@ pub const Crypto = struct {
}
output_digest_slice = bytes[0..Hasher.digest];
} else {
output_digest_buf = comptime brk: {
var bytes: Hasher.Digest = undefined;
var i: usize = 0;
while (i < Hasher.digest) {
bytes[i] = 0;
i += 1;
}
break :brk bytes;
};
output_digest_buf = std.mem.zeroes(Hasher.Digest);
}
this.hashing.final(output_digest_slice);

View File

@@ -1951,13 +1951,7 @@ pub fn serializable(input: anytype) @TypeOf(input) {
}
}
}
var zeroed: [@sizeOf(T)]u8 align(@alignOf(T)) = comptime brk: {
var buf: [@sizeOf(T)]u8 align(@alignOf(T)) = undefined;
for (&buf) |*ptr| {
ptr.* = 0;
}
break :brk buf;
};
var zeroed: [@sizeOf(T)]u8 align(@alignOf(T)) = std.mem.zeroes([@sizeOf(T)]u8);
const result: *T = @ptrCast(&zeroed);
inline for (comptime std.meta.fieldNames(T)) |field_name| {
@@ -1968,13 +1962,7 @@ pub fn serializable(input: anytype) @TypeOf(input) {
}
pub inline fn serializableInto(comptime T: type, init: anytype) T {
var zeroed: [@sizeOf(T)]u8 align(@alignOf(T)) = comptime brk: {
var buf: [@sizeOf(T)]u8 align(@alignOf(T)) = undefined;
for (&buf) |*ptr| {
ptr.* = 0;
}
break :brk buf;
};
var zeroed: [@sizeOf(T)]u8 align(@alignOf(T)) = std.mem.zeroes([@sizeOf(T)]u8);
const result: *T = @ptrCast(&zeroed);
inline for (comptime std.meta.fieldNames(@TypeOf(init))) |field_name| {

View File

@@ -1786,8 +1786,7 @@ pub const AsyncHTTP = struct {
// Password between 0 and 4096 chars
if (proxy.password.len > 0 and proxy.password.len < 4096) {
// decode password
var password_buffer: [4096]u8 = undefined;
@memset(&password_buffer, 0);
var password_buffer = std.mem.zeroes([4096]u8);
var password_stream = std.io.fixedBufferStream(&password_buffer);
const password_writer = password_stream.writer();
const PassWriter = @TypeOf(password_writer);
@@ -1798,8 +1797,7 @@ pub const AsyncHTTP = struct {
const password = password_buffer[0..password_len];
// Decode username
var username_buffer: [4096]u8 = undefined;
@memset(&username_buffer, 0);
var username_buffer = std.mem.zeroes([4096]u8);
var username_stream = std.io.fixedBufferStream(&username_buffer);
const username_writer = username_stream.writer();
const UserWriter = @TypeOf(username_writer);
@@ -1819,8 +1817,7 @@ pub const AsyncHTTP = struct {
this.client.proxy_authorization = buf[0 .. "Basic ".len + encoded.len];
} else {
//Decode username
var username_buffer: [4096]u8 = undefined;
@memset(&username_buffer, 0);
var username_buffer = std.mem.zeroes([4096]u8);
var username_stream = std.io.fixedBufferStream(&username_buffer);
const username_writer = username_stream.writer();
const UserWriter = @TypeOf(username_writer);
@@ -1888,8 +1885,7 @@ pub const AsyncHTTP = struct {
// Password between 0 and 4096 chars
if (proxy.password.len > 0 and proxy.password.len < 4096) {
// decode password
var password_buffer: [4096]u8 = undefined;
@memset(&password_buffer, 0);
var password_buffer = std.mem.zeroes([4096]u8);
var password_stream = std.io.fixedBufferStream(&password_buffer);
const password_writer = password_stream.writer();
const PassWriter = @TypeOf(password_writer);
@@ -1900,8 +1896,7 @@ pub const AsyncHTTP = struct {
const password = password_buffer[0..password_len];
// Decode username
var username_buffer: [4096]u8 = undefined;
@memset(&username_buffer, 0);
var username_buffer = std.mem.zeroes([4096]u8);
var username_stream = std.io.fixedBufferStream(&username_buffer);
const username_writer = username_stream.writer();
const UserWriter = @TypeOf(username_writer);
@@ -1922,8 +1917,7 @@ pub const AsyncHTTP = struct {
this.client.proxy_authorization = buf[0 .. "Basic ".len + encoded.len];
} else {
//Decode username
var username_buffer: [4096]u8 = undefined;
@memset(&username_buffer, 0);
var username_buffer = std.mem.zeroes([4096]u8);
var username_stream = std.io.fixedBufferStream(&username_buffer);
const username_writer = username_stream.writer();
const UserWriter = @TypeOf(username_writer);

View File

@@ -245,14 +245,10 @@ pub fn main() anyerror!void {
.{},
);
const DigestType = if (BoringHasher != void) BoringHasher.Digest else [32]u8;
var digest1: DigestType = undefined;
var digest2: DigestType = undefined;
var digest3: DigestType = undefined;
var digest4: DigestType = undefined;
@memset(@as([*]u8, @ptrCast(&digest1))[0..@sizeOf(DigestType)], 0);
@memset(@as([*]u8, @ptrCast(&digest2))[0..@sizeOf(DigestType)], 0);
@memset(@as([*]u8, @ptrCast(&digest3))[0..@sizeOf(DigestType)], 0);
@memset(@as([*]u8, @ptrCast(&digest4))[0..@sizeOf(DigestType)], 0);
var digest1 = std.mem.zeroes(DigestType);
var digest2 = std.mem.zeroes(DigestType);
var digest3 = std.mem.zeroes(DigestType);
var digest4 = std.mem.zeroes(DigestType);
defer {
std.mem.doNotOptimizeAway(&digest1);
std.mem.doNotOptimizeAway(&digest2);