Skip to content

Commit de2dc57

Browse files
authored
Merge pull request #26295 from Lukasa/cb-crash-on-invalid-random-buffer-size
Avoid uninitialized "random" bytes on Windows.
2 parents bdb8925 + c2b6c8a commit de2dc57

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

stdlib/public/stubs/Random.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ void swift::swift_stdlib_random(void *buf, __swift_size_t nbytes) {
5454

5555
SWIFT_RUNTIME_STDLIB_API
5656
void swift::swift_stdlib_random(void *buf, __swift_size_t nbytes) {
57+
if (nbytes > ULONG_MAX) {
58+
fatalError(0, "Fatal error: %zd exceeds ULONG_MAX\n", nbytes);
59+
}
60+
5761
NTSTATUS status = BCryptGenRandom(nullptr,
5862
static_cast<PUCHAR>(buf),
5963
static_cast<ULONG>(nbytes),

0 commit comments

Comments
 (0)