| ... | @@ -1456,7 +1456,10 @@ static void init_rand() { | ... | @@ -1456,7 +1456,10 @@ static void init_rand() { |
| 1456 | memcpy(&seed, bytes, sizeof(unsigned)); | 1456 | memcpy(&seed, bytes, sizeof(unsigned)); |
| 1457 | srand(seed); | 1457 | srand(seed); |
| 1458 | #elif defined(ZIG_OS_LINUX) | 1458 | #elif defined(ZIG_OS_LINUX) |
| 1459 | srand(*((unsigned*)getauxval(AT_RANDOM))); | 1459 | unsigned char *ptr_random = (unsigned char*)getauxval(AT_RANDOM); |
| | 1460 | unsigned seed; |
| | 1461 | memcpy(&seed, ptr_random, sizeof(seed)); |
| | 1462 | srand(seed); |
| 1460 | #else | 1463 | #else |
| 1461 | int fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC); | 1464 | int fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC); |
| 1462 | if (fd == -1) { | 1465 | if (fd == -1) { |