diff options
author | Martin Pool <mbp@samba.org> | 2002-03-16 09:00:44 +0000 |
---|---|---|
committer | Martin Pool <mbp@samba.org> | 2002-03-16 09:00:44 +0000 |
commit | 6b2d24de2c672476ae2591d28b82ff747d42a101 (patch) | |
tree | c446d00e0c91c8a3487eb443a1e44db812949a16 /socket.c | |
parent | e23d790fa73c6c615a81e16d21a7f7684922253c (diff) | |
download | android_external_rsync-6b2d24de2c672476ae2591d28b82ff747d42a101.tar.gz android_external_rsync-6b2d24de2c672476ae2591d28b82ff747d42a101.tar.bz2 android_external_rsync-6b2d24de2c672476ae2591d28b82ff747d42a101.zip |
Make sure that freeaddrinfo is called on all code paths leading away
from a call to getaddrinfo. (Dave Dykstra)
<20011219085021.A23107@lucent.com>
Diffstat (limited to 'socket.c')
-rw-r--r-- | socket.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -119,17 +119,17 @@ int try_bind_local(int s, return -1; } - /* FIXME: Call freeaddrinfo() on all return paths! */ - for (r = bres_all; r; r = r->ai_next) { if (bind(s, r->ai_addr, r->ai_addrlen) == -1) continue; + freeaddrinfo(bres_all); return s; } /* no error message; there might be some problem that allows * creation of the socket but not binding, perhaps if the * machine has no ipv6 address of this name. */ + freeaddrinfo(bres_all); return -1; } @@ -332,7 +332,7 @@ static int open_socket_in(int type, int port, const char *bind_address, continue; } - /* FIXME: Call freeaddrinfo? */ + freeaddrinfo(all_ai); return s; } |