summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/des/rand_key.c
diff options
context:
space:
mode:
authorjsing <>2014-10-22 13:02:04 +0000
committerjsing <>2014-10-22 13:02:04 +0000
commita2960bc2e14b4c5f7d8f78d2a69ebb537ca4afa8 (patch)
tree32d920c77e1ecf12be5fad632b9ae71343194a7c /src/lib/libcrypto/des/rand_key.c
parent5a6d7fd5a10b0ad084948463b25822d91091b325 (diff)
downloadopenbsd-a2960bc2e14b4c5f7d8f78d2a69ebb537ca4afa8.tar.gz
openbsd-a2960bc2e14b4c5f7d8f78d2a69ebb537ca4afa8.tar.bz2
openbsd-a2960bc2e14b4c5f7d8f78d2a69ebb537ca4afa8.zip
Use arc4random_buf() instead of RAND_bytes() or RAND_pseudo_bytes().
arc4random_buf() is guaranteed to always succeed - it is worth noting that a number of the replaced function calls were already missing return value checks. ok deraadt@
Diffstat (limited to 'src/lib/libcrypto/des/rand_key.c')
-rw-r--r--src/lib/libcrypto/des/rand_key.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/libcrypto/des/rand_key.c b/src/lib/libcrypto/des/rand_key.c
index 727d36f488..7abb811df4 100644
--- a/src/lib/libcrypto/des/rand_key.c
+++ b/src/lib/libcrypto/des/rand_key.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: rand_key.c,v 1.7 2014/07/22 18:09:20 miod Exp $ */ 1/* $OpenBSD: rand_key.c,v 1.8 2014/10/22 13:02:04 jsing Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -53,15 +53,15 @@
53 * 53 *
54 */ 54 */
55 55
56#include <stdlib.h>
57
56#include <openssl/des.h> 58#include <openssl/des.h>
57#include <openssl/rand.h>
58 59
59int 60int
60DES_random_key(DES_cblock *ret) 61DES_random_key(DES_cblock *ret)
61{ 62{
62 do { 63 do {
63 if (RAND_bytes((unsigned char *)ret, sizeof(DES_cblock)) != 1) 64 arc4random_buf(ret, sizeof(DES_cblock));
64 return (0);
65 DES_set_odd_parity(ret); 65 DES_set_odd_parity(ret);
66 } while (DES_is_weak_key(ret)); 66 } while (DES_is_weak_key(ret));
67 return (1); 67 return (1);