[Python-checkins] cpython (3.5): Fix os.urandom() using getrandom() on Linux

victor.stinner python-checkins at python.org
Tue Jun 14 10:36:27 EDT 2016


https://hg.python.org/cpython/rev/e028e86a5b73
changeset: 102033:e028e86a5b73
branch: 3.5
parent: 102031:a36238de31ae
user: Victor Stinner <victor.stinner at gmail.com>
date: Tue Jun 14 16:31:35 2016 +0200
summary:
 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.
files:
 Misc/NEWS | 4 ++++
 Python/random.c | 2 +-
 2 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -13,6 +13,10 @@
 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.
 
diff --git a/Python/random.c b/Python/random.c
--- a/Python/random.c
+++ b/Python/random.c
@@ -143,7 +143,7 @@
 to 1024 bytes */
 n = Py_MIN(size, 1024);
 #else
- n = size;
+ n = Py_MIN(size, INT_MAX);
 #endif
 
 errno = 0;
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /