--- l2tpd-0.70-pre20031121.oorig/avpsend.c	2006-12-28 16:00:26.000000000 +0100
+++ l2tpd-0.70-pre20031121/avpsend.c	2006-12-28 16:21:06.000000000 +0100
@@ -98,19 +98,26 @@ int add_hostname_avp(struct buffer *buf,
 	int sz = 0;
 	if(t->lac && t->lac->hostname[0]) {
 		strncpy(n,t->lac->hostname, sizeof(n));
-		sz = strnlen(t->lac->hostname, sizeof(t->lac->hostname));
+		sz = strlen(t->lac->hostname);
+		if (sz > sizeof(t->lac->hostname))
+			sz = sizeof(t->lac->hostname);
 	}
 	else if(t->lns && t->lns->hostname[0]) {
 		strncpy(n,t->lns->hostname, sizeof(n));
-		sz = strnlen(t->lns->hostname, sizeof(t->lns->hostname));
+		sz = strlen(t->lns->hostname);
+		if (sz > sizeof(t->lns->hostname))
+			sz = sizeof(t->lns->hostname);
 	}
 	else {
 		if(gethostname(n, STRLEN)) {
 			strcpy(n,"eriwan");
 			sz = 6;
 		}
-		else
-			sz = strnlen(n, sizeof(n));
+		else {
+			sz = strlen(n);
+			if (sz > sizeof(n))
+				sz = sizeof(n);
+		}
 	}
 	if(add_avp(buf, HOSTNAME_AVP, n, sz, 1))
 		return 1;
