diff -ru sbin/i386.orig/cxconfig/cxconfig.c sbin/i386/cxconfig/cxconfig.c --- sbin/i386.orig/cxconfig/cxconfig.c 2004-10-25 15:41:45.223463000 -0300 +++ sbin/i386/cxconfig/cxconfig.c 2004-10-25 15:46:55.296446857 -0300 @@ -51,13 +51,13 @@ static char buf[40]; if (sym < ' ') - sprintf (buf, "^%c", sym+0100); + snprintf (buf, sizeof(buf), "^%c", sym+0100); else if (sym == '\\') - strcat (buf, "\\\\"); + strlcat (buf, "\\\\", sizeof(buf)); else if (sym < 127) - sprintf (buf, "%c", sym); + snprintf (buf, sizeof(buf), "%c", sym); else - sprintf (buf, "\\%03o", sym); + snprintf (buf, sizeof(buf), "\\%03o", sym); return (buf); } @@ -455,7 +455,7 @@ printf ("master option is not applicable for async channels\n"); exit (1); } - strcpy (o.master, ifname); + strlcpy (o.master, ifname, sizeof(o.master)); } void set_async_opt (char *opt) diff -ru sbin/i386.orig/fdisk/fdisk.c sbin/i386/fdisk/fdisk.c --- sbin/i386.orig/fdisk/fdisk.c 2004-07-08 14:50:46.000000000 -0300 +++ sbin/i386/fdisk/fdisk.c 2004-10-25 15:48:43.624925988 -0300 @@ -57,7 +57,7 @@ #define Decimal(str, ans, tmp) if (decimal(str, &tmp, ans)) ans = tmp #define Hex(str, ans, tmp) if (hex(str, &tmp, ans)) ans = tmp -#define String(str, ans, len) {char *z = ans; char **dflt = &z; if (string(str, dflt)) strncpy(ans, *dflt, len); } +#define String(str, ans, len) {char *z = ans; char **dflt = &z; if (string(str, dflt)) strlcpy(ans, *dflt, len); } #define RoundCyl(x) ((((x) + cylsecs - 1) / cylsecs) * cylsecs) diff -ru sbin/i386.orig/nextboot/nextboot.c sbin/i386/nextboot/nextboot.c --- sbin/i386.orig/nextboot/nextboot.c 2004-02-04 15:39:59.000000000 -0200 +++ sbin/i386/nextboot/nextboot.c 2004-10-25 15:57:22.925215038 -0300 @@ -163,10 +163,9 @@ for ( i = 0 ; i < argc ; i++ ) { *cp++ = 'D'; *cp++ = 'N'; - j = strlen(argv[i]); - strncpy(cp,argv[i],j); + j = strlen(argv[i]) + 1; + strlcpy(cp,argv[i],j); cp += j; - *cp++ = 0; } *cp++ = 0xff; *cp++ = 0xff;