summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tty-ask-password-agent.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/tty-ask-password-agent.c b/src/tty-ask-password-agent.c
index b620aa6ee3..38442f66bd 100644
--- a/src/tty-ask-password-agent.c
+++ b/src/tty-ask-password-agent.c
@@ -376,12 +376,14 @@ static int parse_password(const char *filename, char **wall) {
release_terminal();
}
- packet_length = 1+strlen(password)+1;
- if (!(packet = new(char, packet_length)))
- r = -ENOMEM;
- else {
- packet[0] = '+';
- strcpy(packet+1, password);
+ if (r >= 0) {
+ packet_length = 1+strlen(password)+1;
+ if (!(packet = new(char, packet_length)))
+ r = -ENOMEM;
+ else {
+ packet[0] = '+';
+ strcpy(packet+1, password);
+ }
}
free(password);