getpass(3)

getpass3

Get a password

Usage

#include <pwd.h>

#include <unistd.h>

char *

getpass(const char *prompt);

Library

Standard C Library (libc, -lc)

Overview

The getpass() function displays a prompt to, and reads in a password from, /dev/tty. If this file is not accessible, getpass() displays the prompt on the standard error output and reads from the standard input.

The password may be up to _PASSWORD_LEN (currently 128) characters in length. Any additional characters and the terminating newline character are discarded.

The getpass() function turns off character echoing while reading the password.

Return values

The getpass() function returns a pointer to the null terminated password.

Files

/dev/tty

Releases

163 releases since Mac OS X 10.0; the text changed 3 times.

  1. 10.0–10.1.5
  2. 10.2–10.2.8
  3. 10.3–10.6.8
  4. 10.7–26.5

History

A getpass() function appeared in Version 7 AT&T UNIX.

Bugs

The getpass() function leaves its result in an internal static object and returns a pointer to that object. Subsequent calls to getpass() will modify the same object.

The calling process should zero the password as soon as possible to avoid leaving the cleartext password visible in the process's address space.

Upon receipt of a SIGTSTP, the input buffer will be flushed, so any partially typed password must be retyped when the process continues.

From Libc 1752.120.2 in macOS 26.5. Parsed by carta from the page's mdoc source.