aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmmanuel Bretelle <chantra@debuntu.org>2010-09-07 20:22:36 +0200
committerHarald Welte <laforge@gnumonks.org>2010-10-20 11:04:51 +0200
commit87490d7fa9052ca1fe1b67ba01c46611f9925ded (patch)
tree63d4896ad6aac6d2592b91631c142f9540713e64
parent4e56c83be220d666a2821bfc4d88dbcc951d4f42 (diff)
IFNAMSIZ includes terminating 0
http://www.delorie.com/gnu/docs/glibc/libc_308.html thus reverting devname to IFNAMSIZ and making sure (*tun)->devname[IFNAMSIZ-1] = 0; Signed-off-by: Emmanuel Bretelle <chantra@debuntu.org>
-rw-r--r--lib/tun.c2
-rw-r--r--lib/tun.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/tun.c b/lib/tun.c
index 0f39994..03d057c 100644
--- a/lib/tun.c
+++ b/lib/tun.c
@@ -688,7 +688,7 @@ int tun_new(struct tun_t **tun)
}
strncpy((*tun)->devname, ifr.ifr_name, IFNAMSIZ);
- (*tun)->devname[IFNAMSIZ] = 0;
+ (*tun)->devname[IFNAMSIZ-1] = 0;
ioctl((*tun)->fd, TUNSETNOCSUM, 1); /* Disable checksums */
return 0;
diff --git a/lib/tun.h b/lib/tun.h
index 714144a..7972c53 100644
--- a/lib/tun.h
+++ b/lib/tun.h
@@ -45,7 +45,7 @@ struct tun_t {
struct in_addr netmask;
int addrs; /* Number of allocated IP addresses */
int routes; /* One if we allocated an automatic route */
- char devname[IFNAMSIZ+1];/* Name of the tun device */
+ char devname[IFNAMSIZ];/* Name of the tun device */
int (*cb_ind) (struct tun_t *tun, void *pack, unsigned len);
};