diff options
author | Darren Tucker <dtucker@zip.com.au> | 2004-11-05 20:26:49 +1100 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2004-11-05 20:26:49 +1100 |
commit | 1dee8683fb86b7840787ea29e40f5c18abca7eac (patch) | |
tree | 9f21f6e72a52b8e8091e85fbd2c22e9f60f725b3 /ssh-agent.c | |
parent | 636ca9024742cde37769f87bf4d19b2405720222 (diff) |
- djm@cvs.openbsd.org 2004/10/07 10:12:36
[ssh-agent.c]
don't unlink agent socket when bind() fails, spotted by rich AT
rich-paul.net, ok markus@
Diffstat (limited to 'ssh-agent.c')
-rw-r--r-- | ssh-agent.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ssh-agent.c b/ssh-agent.c index 7bc4c240e..fffed1342 100644 --- a/ssh-agent.c +++ b/ssh-agent.c | |||
@@ -35,7 +35,7 @@ | |||
35 | 35 | ||
36 | #include "includes.h" | 36 | #include "includes.h" |
37 | #include "openbsd-compat/sys-queue.h" | 37 | #include "openbsd-compat/sys-queue.h" |
38 | RCSID("$OpenBSD: ssh-agent.c,v 1.120 2004/08/11 21:43:05 avsm Exp $"); | 38 | RCSID("$OpenBSD: ssh-agent.c,v 1.121 2004/10/07 10:12:36 djm Exp $"); |
39 | 39 | ||
40 | #include <openssl/evp.h> | 40 | #include <openssl/evp.h> |
41 | #include <openssl/md5.h> | 41 | #include <openssl/md5.h> |
@@ -1122,6 +1122,7 @@ main(int ac, char **av) | |||
1122 | sock = socket(AF_UNIX, SOCK_STREAM, 0); | 1122 | sock = socket(AF_UNIX, SOCK_STREAM, 0); |
1123 | if (sock < 0) { | 1123 | if (sock < 0) { |
1124 | perror("socket"); | 1124 | perror("socket"); |
1125 | *socket_name = '\0'; /* Don't unlink any existing file */ | ||
1125 | cleanup_exit(1); | 1126 | cleanup_exit(1); |
1126 | } | 1127 | } |
1127 | memset(&sunaddr, 0, sizeof(sunaddr)); | 1128 | memset(&sunaddr, 0, sizeof(sunaddr)); |
@@ -1130,6 +1131,7 @@ main(int ac, char **av) | |||
1130 | prev_mask = umask(0177); | 1131 | prev_mask = umask(0177); |
1131 | if (bind(sock, (struct sockaddr *) & sunaddr, sizeof(sunaddr)) < 0) { | 1132 | if (bind(sock, (struct sockaddr *) & sunaddr, sizeof(sunaddr)) < 0) { |
1132 | perror("bind"); | 1133 | perror("bind"); |
1134 | *socket_name = '\0'; /* Don't unlink any existing file */ | ||
1133 | umask(prev_mask); | 1135 | umask(prev_mask); |
1134 | cleanup_exit(1); | 1136 | cleanup_exit(1); |
1135 | } | 1137 | } |