diff -up conky-1.6.1/src/linux.c.ifaddrs conky-1.6.1/src/linux.c
--- conky-1.6.1/src/linux.c.ifaddrs	2008-08-20 12:50:15.000000000 +0200
+++ conky-1.6.1/src/linux.c	2008-08-20 12:50:31.000000000 +0200
@@ -353,7 +353,7 @@ void update_net_stats(void)
 	for (i2 = 0; i2 < 16; i2++) {
 		struct net_stat *ns;
 		char *s, *p;
-		char temp_addr[17];
+		char temp_addr[18];
 		long long r, t, last_recv, last_trans;
 
 		if (fgets(buf, 255, net_dev_fp) == NULL) {
@@ -380,9 +380,9 @@ void update_net_stats(void)
 		memset(&(ns->addr.sa_data), 0, 14);
 
 		if(NULL == ns->addrs)
-			ns->addrs = (char*) malloc(17 * 16);
+			ns->addrs = (char*) malloc(17 * 16 + 1);
 		if(NULL != ns->addrs)
-			memset(ns->addrs, 0, 17 * 16); /* Up to 17 chars per ip, max 16 interfaces. Nasty memory usage... */
+			memset(ns->addrs, 0, 17 * 16 + 1); /* Up to 17 chars per ip, max 16 interfaces. Nasty memory usage... */
 
 		last_recv = ns->recv;
 		last_trans = ns->trans;