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

2016年6月14日 08:12:40 -0700

Is this right? I thought we had decided that os.urandom should *not* 
fall back on getrandom on Linux?
On Tue, Jun 14, 2016 at 02:36:27PM +0000, victor. stinner wrote:
> https://hg.python.org/cpython/rev/e028e86a5b73
> changeset: 102033:e028e86a5b73
> branch: 3.5
> parent: 102031:a36238de31ae
> user: Victor Stinner <[email protected]>
> 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
> _______________________________________________
> Python-checkins mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/python-checkins
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to