1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

crypto.rand: use byteptr.vbytes instead of c_array_to_bytes_tmp (#8786)

This commit is contained in:
Nick Treleaven
2021-02-17 19:47:19 +00:00
committed by GitHub
parent 4ccf991f61
commit 33d8074846
5 changed files with 13 additions and 44 deletions

View File

@ -15,11 +15,11 @@ const (
// read returns an array of `bytes_needed` random bytes read from the OS.
pub fn read(bytes_needed int) ?[]byte {
mut buffer := unsafe {malloc(bytes_needed)}
mut buffer := []byte{ len: bytes_needed }
// use bcrypt_use_system_preferred_rng because we passed null as algo
status := C.BCryptGenRandom(0, buffer, bytes_needed, bcrypt_use_system_preferred_rng)
status := C.BCryptGenRandom(0, buffer.data, bytes_needed, bcrypt_use_system_preferred_rng)
if status != status_success {
return read_error
}
return c_array_to_bytes_tmp(bytes_needed, buffer)
return buffer
}