(getpass): Don't barf if getline returns a null BUF.
authormiles <miles>
Sun, 17 Dec 1995 20:58:55 +0000 (20:58 +0000)
committermiles <miles>
Sun, 17 Dec 1995 20:58:55 +0000 (20:58 +0000)
misc/getpass.c

index bea2ac0..16f4a3a 100644 (file)
@@ -74,16 +74,17 @@ getpass (prompt)
 
   /* Read the password.  */
   nread = __getline (&buf, &bufsize, in);
-  if (nread < 0 && buf != NULL)
-    buf[0] = '\0';
-  else if (buf[nread - 1] == '\n')
-    {
-      /* Remove the newline.  */
-      buf[nread - 1] = '\0';
-      if (echo_off)
-       /* Write the newline that was not echoed.  */
-       putc ('\n', out);
-    }
+  if (buf != NULL)
+    if (nread < 0)
+      buf[0] = '\0';
+    else if (buf[nread - 1] == '\n')
+      {
+       /* Remove the newline.  */
+       buf[nread - 1] = '\0';
+       if (echo_off)
+         /* Write the newline that was not echoed.  */
+         putc ('\n', out);
+      }
 
   /* Restore echoing.  */
   if (echo_off)