summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortedu <>2014-05-06 16:06:33 +0000
committertedu <>2014-05-06 16:06:33 +0000
commita03b1c0a06cb27f9494abdfe35eb92a152e17386 (patch)
tree5a2ea92772eb4a2ac912300cacb246f5eedd0fa1 /src
parent0b5cad2559917c1d232739a6a4c83be482415ccd (diff)
downloadopenbsd-a03b1c0a06cb27f9494abdfe35eb92a152e17386.tar.gz
openbsd-a03b1c0a06cb27f9494abdfe35eb92a152e17386.tar.bz2
openbsd-a03b1c0a06cb27f9494abdfe35eb92a152e17386.zip
missing NULL checks to see if init is needed. found hard way by deraadt.
Diffstat (limited to 'src')
-rw-r--r--src/lib/libc/crypt/arc4random.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/libc/crypt/arc4random.c b/src/lib/libc/crypt/arc4random.c
index 57decde1f8..7ff1495fc4 100644
--- a/src/lib/libc/crypt/arc4random.c
+++ b/src/lib/libc/crypt/arc4random.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: arc4random.c,v 1.29 2014/05/06 15:37:57 tedu Exp $ */ 1/* $OpenBSD: arc4random.c,v 1.30 2014/05/06 16:06:33 tedu Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 1996, David Mazieres <dm@uun.org> 4 * Copyright (c) 1996, David Mazieres <dm@uun.org>
@@ -63,10 +63,10 @@ _rs_init(u_char *buf, size_t n)
63 if (n < KEYSZ + IVSZ) 63 if (n < KEYSZ + IVSZ)
64 return; 64 return;
65 65
66 if ((rs = mmap(NULL, sizeof(*rs), PROT_READ|PROT_WRITE, 66 if (rs == NULL && (rs = mmap(NULL, sizeof(*rs), PROT_READ|PROT_WRITE,
67 MAP_ANON, -1, 0)) == MAP_FAILED) 67 MAP_ANON, -1, 0)) == MAP_FAILED)
68 abort(); 68 abort();
69 if ((rs_buf = mmap(NULL, RSBUFSZ, PROT_READ|PROT_WRITE, 69 if (rs_buf == NULL && (rs_buf = mmap(NULL, RSBUFSZ, PROT_READ|PROT_WRITE,
70 MAP_ANON, -1, 0)) == MAP_FAILED) 70 MAP_ANON, -1, 0)) == MAP_FAILED)
71 abort(); 71 abort();
72 72