if (n > IFNAMSIZ)
if (n > IFNAMSIZ-1)
void readconf(void){	char *line; 	size_t linel; 	int linenum; 	FILE *ifh;	char *p;	int n;	ifh = fopen(fname, "r");	if (!ifh) 		complain(_("opening configuration file %s: %s"),fname,strerror(errno)); 	line = NULL; 	linel = 0;	linenum = 1; 	while (getdelim(&line, &linel, '\n', ifh) > 0) {		struct change *ch = xmalloc(sizeof(struct change)); 		char pos[20]; 		sprintf(pos, _("line %d"), linenum); 		if ((p = strchr(line,'#')) != NULL)			*p = '\0';		p = line; 		while (isspace(*p))			++p; 		if (*p == '\0')			continue; 		n = strcspn(p, " \t"); 		if (n > IFNAMSIZ) 			complain(_("interface name too long at line %d"), line);  		memcpy(ch->ifname, p, n); 		ch->ifname[n] = 0; 		p += n; 		p += strspn(p, " \t"); 		n = strspn(p, "0123456789ABCDEFabcdef:"); 		p[n] = 0; 		addchange(p, ch, pos);		linenum++;	}   	fclose(ifh); }