From: Tim Peters Date: Sun, 25 Nov 2001 21:12:43 +0000 (+0000) Subject: SF patch 483059: Avoid use of eval() in random.py, from Finn Bock. X-Git-Tag: v2.2.1c1~703 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dc47a89ff19b932c1c794422a5223847b4e64f0e;p=thirdparty%2FPython%2Fcpython.git SF patch 483059: Avoid use of eval() in random.py, from Finn Bock. _verify(): Pass in the values of globals insted of eval()ing their names. The use of eval() was obscure and unnecessary, and the patch claimed random.py couldn't be used in Jython applets because of it. --- diff --git a/Lib/random.py b/Lib/random.py index 1fe0b8235374..4259973a4ade 100644 --- a/Lib/random.py +++ b/Lib/random.py @@ -82,24 +82,23 @@ __all__ = ["Random","seed","random","uniform","randint","choice", "stdgamma","gauss","betavariate","paretovariate","weibullvariate", "getstate","setstate","jumpahead","whseed"] -def _verify(name, expected): - computed = eval(name) +def _verify(name, computed, expected): if abs(computed - expected) > 1e-7: raise ValueError( "computed value for %s deviates too much " "(computed %g, expected %g)" % (name, computed, expected)) NV_MAGICCONST = 4 * _exp(-0.5)/_sqrt(2.0) -_verify('NV_MAGICCONST', 1.71552776992141) +_verify('NV_MAGICCONST', NV_MAGICCONST, 1.71552776992141) TWOPI = 2.0*_pi -_verify('TWOPI', 6.28318530718) +_verify('TWOPI', TWOPI, 6.28318530718) LOG4 = _log(4.0) -_verify('LOG4', 1.38629436111989) +_verify('LOG4', LOG4, 1.38629436111989) SG_MAGICCONST = 1.0 + _log(4.5) -_verify('SG_MAGICCONST', 2.50407739677627) +_verify('SG_MAGICCONST', SG_MAGICCONST, 2.50407739677627) del _verify