diff options
author | Christian Grothoff <christian@grothoff.org> | 2015-05-22 09:20:27 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2015-05-22 09:20:27 +0000 |
commit | 044664df721c7c0be86c25c2548338154feedb9b (patch) | |
tree | 6804f94f4961d7b52d3fb9498c92089ad21df4e2 /src/vpn/gnunet-helper-vpn.c | |
parent | 259e8c1c53b241df2717d8d0b740453c2252ef27 (diff) | |
download | gnunet-044664df721c7c0be86c25c2548338154feedb9b.tar.gz gnunet-044664df721c7c0be86c25c2548338154feedb9b.zip |
-fix assertion: channel could be NULL (especially if we're dealing with a regex)
Diffstat (limited to 'src/vpn/gnunet-helper-vpn.c')
-rw-r--r-- | src/vpn/gnunet-helper-vpn.c | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/src/vpn/gnunet-helper-vpn.c b/src/vpn/gnunet-helper-vpn.c index 4f9de1d0a..62696a545 100644 --- a/src/vpn/gnunet-helper-vpn.c +++ b/src/vpn/gnunet-helper-vpn.c | |||
@@ -111,7 +111,9 @@ init_tun (char *dev) | |||
111 | 111 | ||
112 | if (-1 == ioctl (fd, TUNSETIFF, (void *) &ifr)) | 112 | if (-1 == ioctl (fd, TUNSETIFF, (void *) &ifr)) |
113 | { | 113 | { |
114 | fprintf (stderr, "Error with ioctl on `%s': %s\n", "/dev/net/tun", | 114 | fprintf (stderr, |
115 | "Error with ioctl on `%s': %s\n", | ||
116 | "/dev/net/tun", | ||
115 | strerror (errno)); | 117 | strerror (errno)); |
116 | (void) close (fd); | 118 | (void) close (fd); |
117 | return -1; | 119 | return -1; |
@@ -143,14 +145,17 @@ set_address6 (const char *dev, const char *address, unsigned long prefix_len) | |||
143 | sa6.sin6_family = AF_INET6; | 145 | sa6.sin6_family = AF_INET6; |
144 | if (1 != inet_pton (AF_INET6, address, sa6.sin6_addr.s6_addr)) | 146 | if (1 != inet_pton (AF_INET6, address, sa6.sin6_addr.s6_addr)) |
145 | { | 147 | { |
146 | fprintf (stderr, "Failed to parse address `%s': %s\n", address, | 148 | fprintf (stderr, |
147 | strerror (errno)); | 149 | "Failed to parse IPv6 address `%s'\n", |
150 | address); | ||
148 | exit (1); | 151 | exit (1); |
149 | } | 152 | } |
150 | 153 | ||
151 | if (-1 == (fd = socket (PF_INET6, SOCK_DGRAM, 0))) | 154 | if (-1 == (fd = socket (PF_INET6, SOCK_DGRAM, 0))) |
152 | { | 155 | { |
153 | fprintf (stderr, "Error creating socket: %s\n", strerror (errno)); | 156 | fprintf (stderr, |
157 | "Error creating socket: %s\n", | ||
158 | strerror (errno)); | ||
154 | exit (1); | 159 | exit (1); |
155 | } | 160 | } |
156 | 161 | ||
@@ -236,14 +241,17 @@ set_address4 (const char *dev, const char *address, const char *mask) | |||
236 | */ | 241 | */ |
237 | if (1 != inet_pton (AF_INET, address, &addr->sin_addr.s_addr)) | 242 | if (1 != inet_pton (AF_INET, address, &addr->sin_addr.s_addr)) |
238 | { | 243 | { |
239 | fprintf (stderr, "Failed to parse address `%s': %s\n", address, | 244 | fprintf (stderr, |
240 | strerror (errno)); | 245 | "Failed to parse IPv4 address `%s'\n", |
246 | address); | ||
241 | exit (1); | 247 | exit (1); |
242 | } | 248 | } |
243 | 249 | ||
244 | if (-1 == (fd = socket (PF_INET, SOCK_DGRAM, 0))) | 250 | if (-1 == (fd = socket (PF_INET, SOCK_DGRAM, 0))) |
245 | { | 251 | { |
246 | fprintf (stderr, "Error creating socket: %s\n", strerror (errno)); | 252 | fprintf (stderr, |
253 | "Error creating socket: %s\n", | ||
254 | strerror (errno)); | ||
247 | exit (1); | 255 | exit (1); |
248 | } | 256 | } |
249 | 257 | ||
@@ -254,7 +262,10 @@ set_address4 (const char *dev, const char *address, const char *mask) | |||
254 | */ | 262 | */ |
255 | if (-1 == ioctl (fd, SIOCSIFADDR, &ifr)) | 263 | if (-1 == ioctl (fd, SIOCSIFADDR, &ifr)) |
256 | { | 264 | { |
257 | fprintf (stderr, "ioctl failed at %d: %s\n", __LINE__, strerror (errno)); | 265 | fprintf (stderr, |
266 | "ioctl failed at %d: %s\n", | ||
267 | __LINE__, | ||
268 | strerror (errno)); | ||
258 | (void) close (fd); | 269 | (void) close (fd); |
259 | exit (1); | 270 | exit (1); |
260 | } | 271 | } |
@@ -265,8 +276,9 @@ set_address4 (const char *dev, const char *address, const char *mask) | |||
265 | addr = (struct sockaddr_in *) &(ifr.ifr_netmask); | 276 | addr = (struct sockaddr_in *) &(ifr.ifr_netmask); |
266 | if (1 != inet_pton (AF_INET, mask, &addr->sin_addr.s_addr)) | 277 | if (1 != inet_pton (AF_INET, mask, &addr->sin_addr.s_addr)) |
267 | { | 278 | { |
268 | fprintf (stderr, "Failed to parse address `%s': %s\n", mask, | 279 | fprintf (stderr, |
269 | strerror (errno)); | 280 | "Failed to parse IPv4 address mask `%s'\n", |
281 | mask); | ||
270 | (void) close (fd); | 282 | (void) close (fd); |
271 | exit (1); | 283 | exit (1); |
272 | } | 284 | } |
@@ -276,7 +288,9 @@ set_address4 (const char *dev, const char *address, const char *mask) | |||
276 | */ | 288 | */ |
277 | if (-1 == ioctl (fd, SIOCSIFNETMASK, &ifr)) | 289 | if (-1 == ioctl (fd, SIOCSIFNETMASK, &ifr)) |
278 | { | 290 | { |
279 | fprintf (stderr, "ioctl failed at line %d: %s\n", __LINE__, | 291 | fprintf (stderr, |
292 | "ioctl failed at line %d: %s\n", | ||
293 | __LINE__, | ||
280 | strerror (errno)); | 294 | strerror (errno)); |
281 | (void) close (fd); | 295 | (void) close (fd); |
282 | exit (1); | 296 | exit (1); |