diff options
author | Karel Zak | 2013-01-24 16:27:04 +0100 |
---|---|---|
committer | Karel Zak | 2013-01-24 16:27:04 +0100 |
commit | 96f6ad889be9af77fb20197e1d02a196cd299f64 (patch) | |
tree | e7000f633c61488fb138981cfeb9b10bf9ab5d89 /sys-utils/ipcmk.c | |
parent | cal: don't mix ncurses output functions and printf() (diff) | |
download | kernel-qcow2-util-linux-96f6ad889be9af77fb20197e1d02a196cd299f64.tar.gz kernel-qcow2-util-linux-96f6ad889be9af77fb20197e1d02a196cd299f64.tar.xz kernel-qcow2-util-linux-96f6ad889be9af77fb20197e1d02a196cd299f64.zip |
ipcmk: use random_get_bytes() to generate IPC keys
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'sys-utils/ipcmk.c')
-rw-r--r-- | sys-utils/ipcmk.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/sys-utils/ipcmk.c b/sys-utils/ipcmk.c index a862ba1a2..3ff021e94 100644 --- a/sys-utils/ipcmk.c +++ b/sys-utils/ipcmk.c @@ -32,32 +32,31 @@ #include "c.h" #include "nls.h" +#include "randutils.h" #include "strutils.h" #include "closestream.h" -static key_t create_key(void) -{ - struct timeval now; - gettimeofday(&now, NULL); - srandom(now.tv_usec); - return random(); -} - static int create_shm(size_t size, int permission) { - key_t key = create_key(); + key_t key; + + random_get_bytes(&key, sizeof(key)); return shmget(key, size, permission | IPC_CREAT); } static int create_msg(int permission) { - key_t key = create_key(); + key_t key; + + random_get_bytes(&key, sizeof(key)); return msgget(key, permission | IPC_CREAT); } static int create_sem(int nsems, int permission) { - key_t key = create_key(); + key_t key; + + random_get_bytes(&key, sizeof(key)); return semget(key, nsems, permission | IPC_CREAT); } |