From: Fredrik Tolf Date: Fri, 31 Oct 2008 14:39:29 +0000 (+0100) Subject: Fixed a segfault bug when a fnetnode connect fails. X-Git-Url: http://dolda2000.com/gitweb/?p=doldaconnect.git;a=commitdiff_plain;h=198e4c0866a8f9b607bdb4ddddf5739f4af9dfb2 Fixed a segfault bug when a fnetnode connect fails. --- diff --git a/daemon/filenet.c b/daemon/filenet.c index 64870d2..18c74ef 100644 --- a/daemon/filenet.c +++ b/daemon/filenet.c @@ -180,12 +180,17 @@ static void conncb(struct socket *sk, int err, struct fnetnode *data) static void resolvecb(struct sockaddr *addr, int addrlen, struct fnetnode *data) { - if(addr == NULL) + struct socket *sk; + + sk = NULL; + if(addr != NULL) + sk = netcsconn(addr, addrlen, (void (*)(struct socket *, int, void *))conncb, data); + if(sk == NULL) { killfnetnode(data); putfnetnode(data); } else { - putsock(netcsconn(addr, addrlen, (void (*)(struct socket *, int, void *))conncb, data)); + putsock(sk); } }