From 06196fa324bb5fa6afcac3ff701c7a8d8ca17544 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Thu, 3 Mar 2005 19:55:34 +0000 Subject: Don't leak file descriptors when clamsmtpd can't connect to outgoing SMTP server [Chris Mason] --- AUTHORS | 1 + ChangeLog | 2 ++ common/spio.c | 3 +++ 3 files changed, 6 insertions(+) diff --git a/AUTHORS b/AUTHORS index e20ea3b..a7f2ba8 100644 --- a/AUTHORS +++ b/AUTHORS @@ -12,3 +12,4 @@ Jasper Slits Yamamoto Takao Ben Mesman Olivier Beyssac +Chris Mason diff --git a/ChangeLog b/ChangeLog index 6d1e395..9242981 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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); -- cgit v1.2.3