22 Jul
2008
22 Jul
'08
5:01 a.m.
Well, the real problem is os.urandom(4.2) which goes to an unlimited loop:
while len(bytes) < n: bytes += read(_urandomfd, n - len(bytes))
because read(0.2) works as read(0) :-/
I can't quite accept that as a bug in the library. If you give invalid parameters, Python should not crash, but it may start to behave in a nonsensical way. Of course, it would be possible to move the conversion warning one layer up, into os.urandom; if the argument is float, raise a warning, and then truncate. Regards, Martin