Define `ok' and better error detection.
authorRichard Levitte <levitte@openssl.org>
Sun, 13 May 2001 05:34:39 +0000 (05:34 +0000)
committerRichard Levitte <levitte@openssl.org>
Sun, 13 May 2001 05:34:39 +0000 (05:34 +0000)
crypto/ui/ui_compat.c

index fd8e004c107c5a32902008cc5cd279eb29dd12b9..6938d72d49475ab6dc72e2803526725d6b32f462 100644 (file)
@@ -98,13 +98,19 @@ int des_read_pw_string(char *buf,int length,const char *prompt,int verify)
 
 int des_read_pw(char *buf,char *buff,int size,const char *prompt,int verify)
        {
+       int ok = 0;
        UI *ui;
 
        ui = UI_new();
-       UI_add_input_string(ui,prompt,0,buf,0,BUFSIZ-1);
-       if (verify)
-               UI_add_verify_string(ui,prompt,0,buff,0,BUFSIZ-1,buf);
-       ok=UI_process(ui);
-       UI_free(ui);
+       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,
+                               buf);
+               if (ok == 0)
+                       ok=UI_process(ui);
+               UI_free(ui);
+               }
        return(ok);
        }