diff options
Diffstat (limited to '')
-rw-r--r-- | src/passphrase.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/src/passphrase.c b/src/passphrase.c index 93cfd9f..a3ca289 100644 --- a/src/passphrase.c +++ b/src/passphrase.c @@ -21,8 +21,6 @@ #include <termios.h> #include <unistd.h> -#include "config.h" - #include "passphrase.h" @@ -38,7 +36,7 @@ static struct termios saved_stty; /** * Reads the passphrase from stdin * - * @return The passphrase, should be `free`:ed + * @return The passphrase, should be wiped `free`:ed, `NULL` on error */ char* get_passphrase(void) { @@ -52,11 +50,7 @@ char* get_passphrase(void) int c; if (rc == NULL) - { - perror("malloc"); - sleep(ERROR_SLEEP); - _exit(1); - } + return NULL; /* Read password until EOF or Enter, skip all \0 as that is probably not a part of the passphrase (good luck typing @@ -71,11 +65,7 @@ char* get_passphrase(void) *(rc + len++) = c; if (len == size) if ((rc = realloc(rc, (size <<= 1L) * sizeof(char))) == NULL) - { - perror("realloc"); - sleep(ERROR_SLEEP); - _exit(1); - } + return NULL; } } |