aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-12-16 18:44:53 +0000
committerChristian Grothoff <christian@grothoff.org>2011-12-16 18:44:53 +0000
commit1f85e67c62031b79d7f9607f0ac4bcd1a5a04704 (patch)
tree78763e4a8590b81dc9a131a47fc1b381b6f956f8
parent6853afe24f91945f44593fa039b80a21dfd55e8d (diff)
-cast returns from close to void to indicate that we intentionally ignore them, close socket on new error paths
-rw-r--r--src/nat/gnunet-helper-nat-server.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/nat/gnunet-helper-nat-server.c b/src/nat/gnunet-helper-nat-server.c
index 583a2f0820..e57319d005 100644
--- a/src/nat/gnunet-helper-nat-server.c
+++ b/src/nat/gnunet-helper-nat-server.c
@@ -434,7 +434,7 @@ make_icmp_socket ()
{
fprintf (stderr, "Socket number too large (%d > %u)\n", ret,
(unsigned int) FD_SETSIZE);
- close (ret);
+ (void) close (ret);
return -1;
}
return ret;
@@ -462,14 +462,14 @@ make_raw_socket ()
setsockopt (ret, SOL_SOCKET, SO_BROADCAST, (char *) &one, sizeof (one)))
{
fprintf (stderr, "setsockopt failed: %s\n", strerror (errno));
- close (ret);
+ (void) close (ret);
return -1;
}
if (-1 ==
setsockopt (ret, IPPROTO_IP, IP_HDRINCL, (char *) &one, sizeof (one)))
{
fprintf (stderr, "setsockopt failed: %s\n", strerror (errno));
- close (ret);
+ (void) close (ret);
return -1;
}
return ret;
@@ -506,7 +506,7 @@ make_udp_socket (const struct in_addr *my_ip)
{
fprintf (stderr, "Error binding UDP socket to port %u: %s\n", NAT_TRAV_PORT,
strerror (errno));
- close (ret);
+ (void) close (ret);
return -1;
}
return ret;
@@ -544,7 +544,7 @@ main (int argc, char *const *argv)
}
if (-1 == (rawsock = make_raw_socket ()))
{
- close (icmpsock);
+ (void) close (icmpsock);
return 4;
}
uid = getuid ();
@@ -552,19 +552,23 @@ main (int argc, char *const *argv)
if (0 != setresuid (uid, uid, uid))
{
fprintf (stderr, "Failed to setresuid: %s\n", strerror (errno));
+ (void) close (icmpsock);
+ (void) close (rawsock);
return 5;
}
#else
if (0 != (setuid (uid) | seteuid (uid)))
{
fprintf (stderr, "Failed to setuid: %s\n", strerror (errno));
+ (void) close (icmpsock);
+ (void) close (rawsock);
return 6;
}
#endif
if (-1 == (udpsock = make_udp_socket (&external)))
{
- close (icmpsock);
- close (rawsock);
+ (void) close (icmpsock);
+ (void) close (rawsock);
return 7;
}
alt = 0;
@@ -591,9 +595,9 @@ main (int argc, char *const *argv)
send_udp ();
}
/* select failed (internal error or OS out of resources) */
- close (icmpsock);
- close (rawsock);
- close (udpsock);
+ (void) close (icmpsock);
+ (void) close (rawsock);
+ (void) close (udpsock);
return 8;
}