Fix os.urandom() using getrandom() on Linux

Issue #27278: Fix os.urandom() implementation using getrandom() on Linux.
Truncate size to INT_MAX and loop until we collected enough random bytes,
instead of casting a directly Py_ssize_t to int.
This commit is contained in:
Victor Stinner 2016-06-14 16:31:35 +02:00
parent fd7f19ea67
commit b98a36e8f3
2 changed files with 5 additions and 1 deletions

View file

@ -143,7 +143,7 @@ py_getrandom(void *buffer, Py_ssize_t size, int raise)
to 1024 bytes */
n = Py_MIN(size, 1024);
#else
n = size;
n = Py_MIN(size, INT_MAX);
#endif
errno = 0;