summaryrefslogtreecommitdiffstats
path: root/usr.sbin/kldxref
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2006-08-05 18:22:11 +0000
committerimp <imp@FreeBSD.org>2006-08-05 18:22:11 +0000
commit9ae554a06e6ed5031a6e222c495be4c6f24ea9ab (patch)
treee1e8c6f841b34bb12ada680ba895d8aa2034445d /usr.sbin/kldxref
parenteb0a6f2b06792a7b044c3bfeae205db2a7d6b7d7 (diff)
downloadFreeBSD-src-9ae554a06e6ed5031a6e222c495be4c6f24ea9ab.zip
FreeBSD-src-9ae554a06e6ed5031a6e222c495be4c6f24ea9ab.tar.gz
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....
Diffstat (limited to 'usr.sbin/kldxref')
-rw-r--r--usr.sbin/kldxref/kldxref.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/usr.sbin/kldxref/kldxref.c b/usr.sbin/kldxref/kldxref.c
index 40e364b..a7c0654 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++;
OpenPOWER on IntegriCloud