diff --git a/src/xpdev/multisock.c b/src/xpdev/multisock.c index de396d37b2b063d125806849b5a69a5505d0a233..b781d124bf96400467d6967cfa22eb3a0abc6b9f 100644 --- a/src/xpdev/multisock.c +++ b/src/xpdev/multisock.c @@ -74,9 +74,7 @@ BOOL xpms_add(struct xpms_set *xpms_set, int domain, int type, /* This may be a partial failure */ if(xpms_set->lprintf) xpms_set->lprintf(LOG_CRIT, "!ERROR out of memory adding to multisocket"); - if(added==0) - return FALSE; - return TRUE; + break; } xpms_set->socks=new_socks; xpms_set->socks[xpms_set->sock_count].address = strdup(addr); @@ -128,6 +126,7 @@ BOOL xpms_add(struct xpms_set *xpms_set, int domain, int type, xpms_set->sock_count++; } + freeaddrinfo(res); if(added) return TRUE; return FALSE;