mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-08 03:44:22 -04:00
Merge remote-tracking branch 'origin/patches-2.0'
Conflicts: util-internal.h
This commit is contained in:
commit
3807a30b03
12
arc4random.c
12
arc4random.c
@ -162,7 +162,7 @@ arc4_seed_win32(void)
|
|||||||
if (!CryptGenRandom(provider, sizeof(buf), buf))
|
if (!CryptGenRandom(provider, sizeof(buf), buf))
|
||||||
return -1;
|
return -1;
|
||||||
arc4_addrandom(buf, sizeof(buf));
|
arc4_addrandom(buf, sizeof(buf));
|
||||||
memset(buf, 0, sizeof(buf));
|
evutil_memclear_(buf, sizeof(buf));
|
||||||
arc4_seeded_ok = 1;
|
arc4_seeded_ok = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -200,7 +200,7 @@ arc4_seed_sysctl_linux(void)
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
arc4_addrandom(buf, sizeof(buf));
|
arc4_addrandom(buf, sizeof(buf));
|
||||||
memset(buf, 0, sizeof(buf));
|
evutil_memclear_(buf, sizeof(buf));
|
||||||
arc4_seeded_ok = 1;
|
arc4_seeded_ok = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -240,7 +240,7 @@ arc4_seed_sysctl_bsd(void)
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
arc4_addrandom(buf, sizeof(buf));
|
arc4_addrandom(buf, sizeof(buf));
|
||||||
memset(buf, 0, sizeof(buf));
|
evutil_memclear_(buf, sizeof(buf));
|
||||||
arc4_seeded_ok = 1;
|
arc4_seeded_ok = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -285,8 +285,8 @@ arc4_seed_proc_sys_kernel_random_uuid(void)
|
|||||||
arc4_addrandom(entropy, nybbles/2);
|
arc4_addrandom(entropy, nybbles/2);
|
||||||
bytes += nybbles/2;
|
bytes += nybbles/2;
|
||||||
}
|
}
|
||||||
memset(entropy, 0, sizeof(entropy));
|
evutil_memclear_(entropy, sizeof(entropy));
|
||||||
memset(buf, 0, sizeof(buf));
|
evutil_memclear_(buf, sizeof(buf));
|
||||||
arc4_seeded_ok = 1;
|
arc4_seeded_ok = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -310,7 +310,7 @@ static int arc4_seed_urandom_helper_(const char *fname)
|
|||||||
if (n != sizeof(buf))
|
if (n != sizeof(buf))
|
||||||
return -1;
|
return -1;
|
||||||
arc4_addrandom(buf, sizeof(buf));
|
arc4_addrandom(buf, sizeof(buf));
|
||||||
memset(buf, 0, sizeof(buf));
|
evutil_memclear_(buf, sizeof(buf));
|
||||||
arc4_seeded_ok = 1;
|
arc4_seeded_ok = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
12
evutil.c
12
evutil.c
@ -2400,6 +2400,18 @@ evutil_weakrand_range_(struct evutil_weakrand_state *state, ev_int32_t top)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Volatile pointer to memset: we use this to keep the compiler from
|
||||||
|
* eliminating our call to memset.
|
||||||
|
*/
|
||||||
|
void * (*volatile evutil_memset_volatile_)(void *, int, size_t) = memset;
|
||||||
|
|
||||||
|
void
|
||||||
|
evutil_memclear_(void *mem, size_t len)
|
||||||
|
{
|
||||||
|
evutil_memset_volatile_(mem, 0, len);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
evutil_sockaddr_is_loopback_(const struct sockaddr *addr)
|
evutil_sockaddr_is_loopback_(const struct sockaddr *addr)
|
||||||
{
|
{
|
||||||
|
@ -467,6 +467,7 @@ evutil_socket_t evutil_eventfd_(unsigned initval, int flags);
|
|||||||
#define EVUTIL_EFD_CLOEXEC 0x8000
|
#define EVUTIL_EFD_CLOEXEC 0x8000
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void evutil_memclear_(void *mem, size_t len);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user