diff options
Diffstat (limited to 'openssl/crypto/evp/evp_key.c')
-rw-r--r-- | openssl/crypto/evp/evp_key.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/openssl/crypto/evp/evp_key.c b/openssl/crypto/evp/evp_key.c index 361ea69ab..839d6a3a1 100644 --- a/openssl/crypto/evp/evp_key.c +++ b/openssl/crypto/evp/evp_key.c @@ -90,6 +90,11 @@ char *EVP_get_pw_prompt(void) * this function will fail */ int EVP_read_pw_string(char *buf, int len, const char *prompt, int verify) { + return EVP_read_pw_string_min(buf, 0, len, prompt, verify); + } + +int EVP_read_pw_string_min(char *buf, int min, int len, const char *prompt, int verify) + { int ret; char buff[BUFSIZ]; UI *ui; @@ -97,10 +102,10 @@ int EVP_read_pw_string(char *buf, int len, const char *prompt, int verify) if ((prompt == NULL) && (prompt_string[0] != '\0')) prompt=prompt_string; ui = UI_new(); - UI_add_input_string(ui,prompt,0,buf,0,(len>=BUFSIZ)?BUFSIZ-1:len); + UI_add_input_string(ui,prompt,0,buf,min,(len>=BUFSIZ)?BUFSIZ-1:len); if (verify) UI_add_verify_string(ui,prompt,0, - buff,0,(len>=BUFSIZ)?BUFSIZ-1:len,buf); + buff,min,(len>=BUFSIZ)?BUFSIZ-1:len,buf); ret = UI_process(ui); UI_free(ui); OPENSSL_cleanse(buff,BUFSIZ); |