summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sbin/iked/config.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sbin/iked/config.c b/sbin/iked/config.c
index 891c4154630..a19d21b2d70 100644
--- a/sbin/iked/config.c
+++ b/sbin/iked/config.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: config.c,v 1.32 2014/10/08 05:47:03 deraadt Exp $ */
+/* $OpenBSD: config.c,v 1.33 2014/12/03 23:18:21 deraadt Exp $ */
/*
* Copyright (c) 2010-2013 Reyk Floeter <reyk@openbsd.org>
@@ -68,9 +68,9 @@ config_getspi(void)
{
u_int64_t spi;
- spi = ((u_int64_t)arc4random() << 32) | arc4random();
- if (spi == 0)
- return (config_getspi());
+ do {
+ arc4random_buf(&spi, sizeof spi);
+ } while (spi == 0);
return (spi);
}