From: Florian Westphal Date: Fri, 2 Sep 2005 22:07:38 +0000 (+0000) Subject: fix fd leak on fork() failure (from HEAD) X-Git-Tag: rel-0-9-2~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a8d50a1ee4a22f45877986fda9cf7559ecb3e328;p=ngircd fix fd leak on fork() failure (from HEAD) --- diff --git a/src/ngircd/resolve.c b/src/ngircd/resolve.c index 14d53804..f0f0fbe6 100644 --- a/src/ngircd/resolve.c +++ b/src/ngircd/resolve.c @@ -14,7 +14,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: resolve.c,v 1.12 2005/05/28 10:46:50 fw Exp $"; +static char UNUSED id[] = "$Id: resolve.c,v 1.12.2.1 2005/09/02 22:07:38 fw Exp $"; #include "imp.h" #include @@ -108,6 +108,8 @@ Resolve_Addr( struct sockaddr_in *Addr ) else { /* Error! */ + close(s->pipe[0]); + close(s->pipe[1]); free( s ); Log( LOG_CRIT, "Resolver: Can't fork: %s!", strerror( errno )); return NULL; @@ -149,6 +151,8 @@ Resolve_Name( char *Host ) else { /* Error! */ + close(s->pipe[0]); + close(s->pipe[1]); free( s ); Log( LOG_CRIT, "Resolver: Can't fork: %s!", strerror( errno )); return NULL;