summaryrefslogtreecommitdiff
path: root/src/lib/libc/crypt
diff options
context:
space:
mode:
authormillert <>2008-04-02 19:54:05 +0000
committermillert <>2008-04-02 19:54:05 +0000
commitfe435898d593343d7d9fdc31aa597c1c40026222 (patch)
tree3b988ee9a279286888b0561ef2829aaed26ff815 /src/lib/libc/crypt
parentffaeb4385bd768970027074604abaaf23ac9a04e (diff)
downloadopenbsd-fe435898d593343d7d9fdc31aa597c1c40026222.tar.gz
openbsd-fe435898d593343d7d9fdc31aa597c1c40026222.tar.bz2
openbsd-fe435898d593343d7d9fdc31aa597c1c40026222.zip
Zero state buffers on return. OK deraadt@
Diffstat (limited to 'src/lib/libc/crypt')
-rw-r--r--src/lib/libc/crypt/bcrypt.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/libc/crypt/bcrypt.c b/src/lib/libc/crypt/bcrypt.c
index 769d303402..207e76ea46 100644
--- a/src/lib/libc/crypt/bcrypt.c
+++ b/src/lib/libc/crypt/bcrypt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bcrypt.c,v 1.23 2007/03/19 05:18:32 ray Exp $ */ 1/* $OpenBSD: bcrypt.c,v 1.24 2008/04/02 19:54:05 millert Exp $ */
2 2
3/* 3/*
4 * Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de> 4 * Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de>
@@ -270,6 +270,10 @@ bcrypt(const char *key, const char *salt)
270 encode_base64((u_int8_t *) encrypted + i + 3, csalt, BCRYPT_MAXSALT); 270 encode_base64((u_int8_t *) encrypted + i + 3, csalt, BCRYPT_MAXSALT);
271 encode_base64((u_int8_t *) encrypted + strlen(encrypted), ciphertext, 271 encode_base64((u_int8_t *) encrypted + strlen(encrypted), ciphertext,
272 4 * BCRYPT_BLOCKS - 1); 272 4 * BCRYPT_BLOCKS - 1);
273 memset(&state, 0, sizeof(state));
274 memset(ciphertext, 0, sizeof(ciphertext));
275 memset(csalt, 0, sizeof(csalt));
276 memset(cdata, 0, sizeof(cdata));
273 return encrypted; 277 return encrypted;
274} 278}
275 279