diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2011-10-23 14:16:29 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2011-10-25 13:36:28 +0200 |
commit | 3866231ce4dd27533e086490b84b5363d788721d (patch) | |
tree | ea8ae35ba4df1ec23e408d3a9fc9e10ebc690433 /src/6to4.c | |
parent | 244b3b17aa713d6daf70709e105c0e0a1faff78e (diff) | |
download | connman-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.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -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; |