From 9ae554a06e6ed5031a6e222c495be4c6f24ea9ab Mon Sep 17 00:00:00 2001 From: imp Date: Sat, 5 Aug 2006 18:22:11 +0000 Subject: [PATCH] Use safe strlcpy rather than unsafe strncpy. After marcel's last fix, there was still one overflow possible. strlcpy is faster anyway because it doesn't unexpectedly zero the entire length of the string when copying short strings.... --- usr.sbin/kldxref/kldxref.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/usr.sbin/kldxref/kldxref.c b/usr.sbin/kldxref/kldxref.c index 40e364b8b187..a7c065474de6 100644 --- a/usr.sbin/kldxref/kldxref.c +++ b/usr.sbin/kldxref/kldxref.c @@ -226,8 +226,7 @@ read_kld(char *filename, char *kldname) cp = strrchr(kldname, '.'); nmlen = cp ? min(MAXMODNAME, cp - kldname) : min(MAXMODNAME, strlen(kldname)); - strncpy(kldmodname, kldname, nmlen); - kldmodname[nmlen] = '\0'; + strlcpy(kldmodname, kldname, nmlen); /* fprintf(fxref, "%s:%s:%d\n", kldmodname, kldname, 0);*/ } do { @@ -259,8 +258,7 @@ maketempfile(char *dest, const char *root) char *p; int fd; - strncpy(dest, root, MAXPATHLEN - 1); - dest[MAXPATHLEN-1] = '\0'; + strlcpy(dest, root, MAXPATHLEN); if ((p = strrchr(dest, '/')) != 0) p++;