]> arthur.barton.de Git - ngircd.git/commitdiff
fix fd leak on fork() failure (from HEAD)
authorFlorian Westphal <fw@strlen.de>
Fri, 2 Sep 2005 22:07:38 +0000 (22:07 +0000)
committerFlorian Westphal <fw@strlen.de>
Fri, 2 Sep 2005 22:07:38 +0000 (22:07 +0000)
src/ngircd/resolve.c

index 14d53804853e281cfc6cb219cafbcbe890d30ae5..f0f0fbe6e15b522e6b2c49cb0a9cea01a7a7a7dd 100644 (file)
@@ -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 <assert.h>
@@ -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;