diff options
author | Stef Walter <stef@memberwebs.com> | 2005-03-03 19:55:34 +0000 |
---|---|---|
committer | Stef Walter <stef@memberwebs.com> | 2005-03-03 19:55:34 +0000 |
commit | 06196fa324bb5fa6afcac3ff701c7a8d8ca17544 (patch) | |
tree | 3bab4d15615535068bb8815444887693715e1385 | |
parent | 9c84cfe9479062b612f46a9b8d3388c832306686 (diff) |
Don't leak file descriptors when clamsmtpd can't connect to outgoing SMTP server [Chris Mason]
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | common/spio.c | 3 |
3 files changed, 6 insertions, 0 deletions
@@ -12,3 +12,4 @@ Jasper Slits <jasper@insiders.nl> Yamamoto Takao <takao@oakat.org> Ben Mesman <ben@bncnetservice.nl> Olivier Beyssac <ob@r14.freenix.org> +Chris Mason <Chris.Mason@vodafone.com> @@ -1,5 +1,7 @@ 1.4 - Documentation fixes [Sean Franklin] + - Don't leak file descriptors when clamsmtpd can't connect to outgoing + SMTP server [Chris Mason] 1.3 [2005-01-27] - Fixed crasher when outgoing connection couldn't be established diff --git a/common/spio.c b/common/spio.c index f43988a..67e0405 100644 --- a/common/spio.c +++ b/common/spio.c @@ -155,7 +155,10 @@ int spio_connect(spctx_t* ctx, spio_t* io, const struct sockaddr_any* sany, fcntl(fd, F_SETFD, fcntl(fd, F_GETFD, 0) | FD_CLOEXEC); if(connect(fd, &SANY_ADDR(*sany), SANY_LEN(*sany)) == -1) + { + close_raw(&fd); RETURN(-1); + } spio_attach(ctx, io, fd, NULL); |