summaryrefslogtreecommitdiff
path: root/src/6to4.c
diff options
context:
space:
mode:
authorDaniel Wagner <daniel.wagner@bmw-carit.de>2011-10-23 14:16:29 +0200
committerMarcel Holtmann <marcel@holtmann.org>2011-10-25 13:36:28 +0200
commit3866231ce4dd27533e086490b84b5363d788721d (patch)
treeea8ae35ba4df1ec23e408d3a9fc9e10ebc690433 /src/6to4.c
parent244b3b17aa713d6daf70709e105c0e0a1faff78e (diff)
downloadconnman-3866231ce4dd27533e086490b84b5363d788721d.tar.gz
connman-3866231ce4dd27533e086490b84b5363d788721d.tar.bz2
connman-3866231ce4dd27533e086490b84b5363d788721d.zip
core: Add SOCK_CLOEXEC to socket()
Make sure all file descriptor are closed.
Diffstat (limited to 'src/6to4.c')
-rw-r--r--src/6to4.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/6to4.c b/src/6to4.c
index 509be265..35540bf5 100644
--- a/src/6to4.c
+++ b/src/6to4.c
@@ -118,7 +118,7 @@ static int rtnl_open(struct rtnl_handle *rth)
memset(rth, 0, sizeof(*rth));
- rth->fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
+ rth->fd = socket(AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, NETLINK_ROUTE);
if (rth->fd < 0) {
connman_error("Can not open netlink socket: %s",
strerror(errno));
@@ -213,7 +213,7 @@ static int tunnel_create(struct in_addr *addr)
strncpy(ifr.ifr_name, "sit0", IFNAMSIZ);
ifr.ifr_ifru.ifru_data = (void *)&p;
- fd = socket(AF_INET, SOCK_DGRAM, 0);
+ fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
ret = ioctl(fd, SIOCADDTUNNEL, &ifr);
if (ret)
connman_error("add tunnel %s failed: %s", ifr.ifr_name,
@@ -245,7 +245,7 @@ static void tunnel_destroy()
strncpy(ifr.ifr_name, "tun6to4", IFNAMSIZ);
ifr.ifr_ifru.ifru_data = (void *)&p;
- fd = socket(AF_INET, SOCK_DGRAM, 0);
+ fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
if (fd < 0) {
connman_error("socket failed: %s", strerror(errno));
return;