diff --git a/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c b/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c index ff86c0b0..d0e25209 100644 --- a/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +++ b/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c @@ -169,7 +169,9 @@ randombytes_sysrandom_buf(void * const buf, const size_t size) abort(); } #else - // Is cast from size_t to DWORD safe here? + if (size > 0xffffffff) { + abort(); + } if (! CryptGenRandom(stream.hcrypt_prov, (DWORD) size, (BYTE *) buf)) { abort(); }