svn commit: r343938 - stable/12/usr.bin/whereis
Stefan Esser
se at FreeBSD.org
Sat Feb 9 14:19:11 UTC 2019
Author: se
Date: Sat Feb 9 14:19:09 2019
New Revision: 343938
URL: https://svnweb.freebsd.org/changeset/base/343938
Log:
MFC r343408: Silence Clang Scan warnings regarding unsafe use of strcp().
While these warnings are false positives, the use of strdup() instead of
malloc() and strcpy() simplifies and clarifies the code.
A bogus assignment to a variable (whose previous value may be required in
a later block) has also been removed.
Modified:
stable/12/usr.bin/whereis/whereis.c
Modified: stable/12/usr.bin/whereis/whereis.c
==============================================================================
--- stable/12/usr.bin/whereis/whereis.c Sat Feb 9 14:13:49 2019 (r343937)
+++ stable/12/usr.bin/whereis/whereis.c Sat Feb 9 14:19:09 2019 (r343938)
@@ -285,9 +285,9 @@ defaults(void)
bindirs[nele] = NULL;
if ((cp = getenv("PATH")) != NULL) {
/* don't destroy the original environment... */
- if ((b = malloc(strlen(cp) + 1)) == NULL)
+ b = strdup(cp);
+ if (b == NULL)
abort();
- strcpy(b, cp);
decolonify(b, &bindirs, &nele);
}
}
@@ -301,18 +301,18 @@ defaults(void)
err(EX_OSERR, "error processing manpath results");
if ((b = strchr(buf, '\n')) != NULL)
*b = '\0';
- if ((b = malloc(strlen(buf) + 1)) == NULL)
+ b = strdup(buf);
+ if (b == NULL)
abort();
- strcpy(b, buf);
nele = 0;
decolonify(b, &mandirs, &nele);
}
/* -s defaults to precompiled list, plus subdirs of /usr/ports */
if (!sourcedirs) {
- if ((b = malloc(strlen(sourcepath) + 1)) == NULL)
+ b = strdup(sourcepath);
+ if (b == NULL)
abort();
- strcpy(b, sourcepath);
nele = 0;
decolonify(b, &sourcedirs, &nele);
@@ -523,11 +523,9 @@ main(int argc, char **argv)
* man -w found plain source
* page, use it.
*/
- s = strlen(buf);
- cp2 = malloc(s + 1);
+ cp2 = strdup(buf);
if (cp2 == NULL)
abort();
- strcpy(cp2, buf);
}
if (man == NULL) {
More information about the svn-src-all
mailing list