Browse Source

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.
pull/40/head
Victor Stinner 10 years ago
parent
commit
b98a36e8f3
  1. 4
      Misc/NEWS
  2. 2
      Python/random.c

4
Misc/NEWS

@ -13,6 +13,10 @@ Core and Builtins
Library
-------
- 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.
- Issue #26386: Fixed ttk.TreeView selection operations with item id's
containing spaces.

2
Python/random.c

@ -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;

Loading…
Cancel
Save