Changed make_salt to call srandom with time in ms since epoch (lower 32 bits).

This commit is contained in:
Scott Haseley 2016-03-01 15:24:26 -05:00
parent 22b4391203
commit 0230d87de4

View File

@ -40,6 +40,8 @@ static int buf_num = 0;
#ifndef _KERNEL #ifndef _KERNEL
static int did_random = 0; static int did_random = 0;
#define NSEC_PER_MSEC 1000000ULL
#define MSEC_PER_SEC 1000ULL
#endif #endif
static void * _alloc(size_t size) static void * _alloc(size_t size)
@ -143,9 +145,14 @@ static void make_salt(char *salt_str)
#ifndef _KERNEL #ifndef _KERNEL
if (!did_random) { if (!did_random) {
did_random = 1; did_random = 1;
time_t t; time_t sec;
time(&t); unsigned long ns;
srandom(t); unsigned long long ms;
__time(&sec, &ns);
ms = (unsigned long long)sec * MSEC_PER_SEC;
ms += (ns / NSEC_PER_MSEC);
srandom((unsigned long)ms);
} }
#endif #endif