Tighten behavior of _rs_allocate on Windows.
authorbcook <bcook@openbsd.org>
Thu, 30 Jun 2016 12:17:29 +0000 (12:17 +0000)
committerbcook <bcook@openbsd.org>
Thu, 30 Jun 2016 12:17:29 +0000 (12:17 +0000)
commit81f0184cf44aca58c623858ff45e1cd13e9b4d8e
treece99528fbf6261b794cf4d8edf800713208021be
parent08a2e901685e3ec22fb8e7ef618c4c34ca15ebf1
Tighten behavior of _rs_allocate on Windows.

For Windows, we are simply using calloc, which has two annoyances:
the memory has more permissions than needed by default, and it comes
from the process heap, which looks like a memory leak since this memory
is rightfully never freed.

This switches _rs_alloc on Windows to use VirtualAlloc, which restricts the
memory to READ|WRITE and keeps the memory out of the process heap.

ok deraadt@
lib/libcrypto/arc4random/arc4random_win.h
lib/libcrypto/crypto/arc4random_win.h