UI_UTIL_read_pw() misinterpreted the values returned from UI functions.
PR: 456
diff --git a/crypto/ui/ui_util.c b/crypto/ui/ui_util.c
index ee9730d..46bc8c1 100644
--- a/crypto/ui/ui_util.c
+++ b/crypto/ui/ui_util.c
@@ -78,12 +78,14 @@
if (ui)
{
ok = UI_add_input_string(ui,prompt,0,buf,0,size-1);
- if (ok == 0 && verify)
+ 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);
}