Message216526
| Author |
pitrou |
| Recipients |
kwirk, neologix, pitrou, vstinner |
| Date |
2014年04月16日.17:57:48 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1397671068.76.0.346403384029.issue21207@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Well, on the one hand this does sound like a valid use case. On the other hand, once the urandom file descriptor is closed by third-party code, it can very well be re-opened to point to another file, and then os.urandom() will start behaving in a very bad way.
Here is a possible solution in Python:
- when opening the urandom fd for the first time, record its st_ino and st_dev
- when calling urandom() a second time, call fstat() on the fd and check the st_ino and st_dev with the known values
- if the values have changed (or if fstat() fails with EBADF), open a new fd to /dev/urandom, again |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2014年04月16日 17:57:48 | pitrou | set | recipients:
+ pitrou, vstinner, neologix, kwirk |
| 2014年04月16日 17:57:48 | pitrou | set | messageid: <1397671068.76.0.346403384029.issue21207@psf.upfronthosting.co.za> |
| 2014年04月16日 17:57:48 | pitrou | link | issue21207 messages |
| 2014年04月16日 17:57:48 | pitrou | create |
|