Make the behavior of using /dev/urandom for random numbers the same as random().

(closes issue #11348)
Reported by: sperreault
Patches:
      ast_random2.diff uploaded by sperreault (license 252)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Joshua Colp 18 years ago
parent 71c602a2d1
commit a1b79aa278

@ -1138,8 +1138,10 @@ long int ast_random(void)
#ifdef HAVE_DEV_URANDOM #ifdef HAVE_DEV_URANDOM
if (dev_urandom_fd >= 0) { if (dev_urandom_fd >= 0) {
int read_res = read(dev_urandom_fd, &res, sizeof(res)); int read_res = read(dev_urandom_fd, &res, sizeof(res));
if (read_res > 0) if (read_res > 0) {
return res < 0 ? ~res : res; res = res < 0 ? ~res : res;
return res % ((long)RAND_MAX + 1);
}
} }
#endif #endif
#ifdef linux #ifdef linux

Loading…
Cancel
Save