int ret;
ret=UI_UTIL_read_pw(buf,buff,(length>BUFSIZ)?BUFSIZ:length,prompt,verify);
- memset(buff,0,BUFSIZ);
+ OPENSSL_cleanse(buff,BUFSIZ);
return(ret);
}
int ok = 0;
UI *ui;
+ if (size < 1)
+ return -1;
+
ui = UI_new();
if (ui)
{
- ok = UI_add_input_string(ui,prompt,0,buf,0,BUFSIZ-1);
- if (ok == 0 && verify)
- ok = UI_add_verify_string(ui,prompt,0,buff,0,BUFSIZ-1,
+ ok = UI_add_input_string(ui,prompt,0,buf,0,size-1);
+ if (ok >= 0 && verify)
+ ok = UI_add_verify_string(ui,prompt,0,buff,0,size-1,
buf);
- if (ok == 0)
+ if (ok >= 0)
ok=UI_process(ui);
UI_free(ui);
}
+ if (ok > 0)
+ ok = 0;
return(ok);
}