diff options
author | guenther <> | 2014-08-06 04:28:21 +0000 |
---|---|---|
committer | guenther <> | 2014-08-06 04:28:21 +0000 |
commit | f86d186e644fa5e36cc86ef4f3ffd187ba66c9ff (patch) | |
tree | e24b3ccfcb353214ef74bbf7371c238ad5ba7eda | |
parent | 533b9cb6fe0524c31a25d947f525c859b4c84ff9 (diff) | |
download | openbsd-f86d186e644fa5e36cc86ef4f3ffd187ba66c9ff.tar.gz openbsd-f86d186e644fa5e36cc86ef4f3ffd187ba66c9ff.tar.bz2 openbsd-f86d186e644fa5e36cc86ef4f3ffd187ba66c9ff.zip |
Correct error checks in EVP_read_pw_string_min(): UI_add_input_string()
and UI_add_verify_string() return -1 (and maybe -2?) on failure and
>=0 on success, instead of always zero on success
problem reported by Mark Patruck (mark (at) wrapped.cx)
ok miod@
-rw-r--r-- | src/lib/libcrypto/evp/evp_key.c | 6 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/evp/evp_key.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/libcrypto/evp/evp_key.c b/src/lib/libcrypto/evp/evp_key.c index 2873a888bd..1493ca9103 100644 --- a/src/lib/libcrypto/evp/evp_key.c +++ b/src/lib/libcrypto/evp/evp_key.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: evp_key.c,v 1.19 2014/07/23 04:44:56 miod Exp $ */ | 1 | /* $OpenBSD: evp_key.c,v 1.20 2014/08/06 04:28:21 guenther Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -106,11 +106,11 @@ EVP_read_pw_string_min(char *buf, int min, int len, const char *prompt, | |||
106 | if (ui == NULL) | 106 | if (ui == NULL) |
107 | return -1; | 107 | return -1; |
108 | if (UI_add_input_string(ui, prompt, 0, buf, min, | 108 | if (UI_add_input_string(ui, prompt, 0, buf, min, |
109 | (len >= BUFSIZ) ? BUFSIZ - 1 : len) != 0) | 109 | (len >= BUFSIZ) ? BUFSIZ - 1 : len) < 0) |
110 | return -1; | 110 | return -1; |
111 | if (verify) { | 111 | if (verify) { |
112 | if (UI_add_verify_string(ui, prompt, 0, buff, min, | 112 | if (UI_add_verify_string(ui, prompt, 0, buff, min, |
113 | (len >= BUFSIZ) ? BUFSIZ - 1 : len, buf) != 0) | 113 | (len >= BUFSIZ) ? BUFSIZ - 1 : len, buf) < 0) |
114 | return -1; | 114 | return -1; |
115 | } | 115 | } |
116 | ret = UI_process(ui); | 116 | ret = UI_process(ui); |
diff --git a/src/lib/libssl/src/crypto/evp/evp_key.c b/src/lib/libssl/src/crypto/evp/evp_key.c index 2873a888bd..1493ca9103 100644 --- a/src/lib/libssl/src/crypto/evp/evp_key.c +++ b/src/lib/libssl/src/crypto/evp/evp_key.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: evp_key.c,v 1.19 2014/07/23 04:44:56 miod Exp $ */ | 1 | /* $OpenBSD: evp_key.c,v 1.20 2014/08/06 04:28:21 guenther Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -106,11 +106,11 @@ EVP_read_pw_string_min(char *buf, int min, int len, const char *prompt, | |||
106 | if (ui == NULL) | 106 | if (ui == NULL) |
107 | return -1; | 107 | return -1; |
108 | if (UI_add_input_string(ui, prompt, 0, buf, min, | 108 | if (UI_add_input_string(ui, prompt, 0, buf, min, |
109 | (len >= BUFSIZ) ? BUFSIZ - 1 : len) != 0) | 109 | (len >= BUFSIZ) ? BUFSIZ - 1 : len) < 0) |
110 | return -1; | 110 | return -1; |
111 | if (verify) { | 111 | if (verify) { |
112 | if (UI_add_verify_string(ui, prompt, 0, buff, min, | 112 | if (UI_add_verify_string(ui, prompt, 0, buff, min, |
113 | (len >= BUFSIZ) ? BUFSIZ - 1 : len, buf) != 0) | 113 | (len >= BUFSIZ) ? BUFSIZ - 1 : len, buf) < 0) |
114 | return -1; | 114 | return -1; |
115 | } | 115 | } |
116 | ret = UI_process(ui); | 116 | ret = UI_process(ui); |