Two buffers used for username/password prompting can be moved into a
deeper block so that they don't get set if they are not going to be
used.
---
 src/openvpn/misc.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/openvpn/misc.c b/src/openvpn/misc.c
index a9259f0..e0aa5f9 100644
--- a/src/openvpn/misc.c
+++ b/src/openvpn/misc.c
@@ -1165,22 +1165,23 @@ get_user_pass_cr (struct user_pass *up,
          else
 #endif
            {
-             struct buffer user_prompt = alloc_buf_gc (128, &gc);
-             struct buffer pass_prompt = alloc_buf_gc (128, &gc);
-
-             buf_printf (&user_prompt, "Enter %s Username:", prefix);
-             buf_printf (&pass_prompt, "Enter %s Password:", prefix);
-
              if (username_from_stdin && !(flags & GET_USER_PASS_PASSWORD_ONLY))
                {
+                 struct buffer user_prompt = alloc_buf_gc (128, &gc);
+                 buf_printf (&user_prompt, "Enter %s Username:", prefix);
                  if (!get_console_input (BSTR (&user_prompt), true, 
up->username, USER_PASS_LEN))
                    msg (M_FATAL, "ERROR: could not read %s username from 
stdin", prefix);
                  if (strlen (up->username) == 0)
                    msg (M_FATAL, "ERROR: %s username is empty", prefix);
                }

-             if (password_from_stdin && !get_console_input (BSTR 
(&pass_prompt), false, up->password, USER_PASS_LEN))
-               msg (M_FATAL, "ERROR: could not not read %s password from 
stdin", prefix);
+              if (password_from_stdin)
+                {
+                 struct buffer pass_prompt = alloc_buf_gc (128, &gc);
+                 buf_printf (&pass_prompt, "Enter %s Password:", prefix);
+                 if (!get_console_input (BSTR (&pass_prompt), false, 
up->password, USER_PASS_LEN))
+                    msg (M_FATAL, "ERROR: could not not read %s password from 
stdin", prefix);
+                }

 #ifdef ENABLE_CLIENT_CR
              if (auth_challenge && (flags & GET_USER_PASS_STATIC_CHALLENGE))
-- 
1.9.1


Reply via email to