svn commit: r352953 - in head/usr.bin: killall split
Alexander Kabaev
kan at FreeBSD.org
Wed Oct 2 06:15:31 UTC 2019
Author: kan
Date: Wed Oct 2 06:15:30 2019
New Revision: 352953
URL: https://svnweb.freebsd.org/changeset/base/352953
Log:
Convert pnmatch to single element array in regexec calls
The regexec function is declared as taking an array of regmatch_t
elements, and passing in the pointer to singleton element, while
correct, triggers a Coverity warning. Convert the singleton into
an array of one to silence the warning.
Reported by: Coverity
Coverity CID: 1009732, 1009733
MFC after: 2 weeks
Modified:
head/usr.bin/killall/killall.c
head/usr.bin/split/split.c
Modified: head/usr.bin/killall/killall.c
==============================================================================
--- head/usr.bin/killall/killall.c Wed Oct 2 02:37:34 2019 (r352952)
+++ head/usr.bin/killall/killall.c Wed Oct 2 06:15:30 2019 (r352953)
@@ -98,7 +98,7 @@ main(int ac, char **av)
struct stat sb;
struct passwd *pw;
regex_t rgx;
- regmatch_t pmatch;
+ regmatch_t pmatch[1];
int i, j, ch;
char buf[256];
char first;
@@ -361,9 +361,9 @@ main(int ac, char **av)
}
}
if (mflag) {
- pmatch.rm_so = 0;
- pmatch.rm_eo = strlen(thiscmd);
- if (regexec(&rgx, thiscmd, 0, &pmatch,
+ pmatch[0].rm_so = 0;
+ pmatch[0].rm_eo = strlen(thiscmd);
+ if (regexec(&rgx, thiscmd, 0, pmatch,
REG_STARTEND) != 0)
matched = 0;
regfree(&rgx);
@@ -387,9 +387,9 @@ main(int ac, char **av)
}
}
if (mflag) {
- pmatch.rm_so = 0;
- pmatch.rm_eo = strlen(thiscmd);
- if (regexec(&rgx, thiscmd, 0, &pmatch,
+ pmatch[0].rm_so = 0;
+ pmatch[0].rm_eo = strlen(thiscmd);
+ if (regexec(&rgx, thiscmd, 0, pmatch,
REG_STARTEND) == 0)
matched = 1;
regfree(&rgx);
Modified: head/usr.bin/split/split.c
==============================================================================
--- head/usr.bin/split/split.c Wed Oct 2 02:37:34 2019 (r352952)
+++ head/usr.bin/split/split.c Wed Oct 2 06:15:30 2019 (r352953)
@@ -281,11 +281,11 @@ split2(void)
/* Check if we need to start a new file */
if (pflag) {
- regmatch_t pmatch;
+ regmatch_t pmatch[1];
- pmatch.rm_so = 0;
- pmatch.rm_eo = len - 1;
- if (regexec(&rgx, bfr, 0, &pmatch, REG_STARTEND) == 0)
+ pmatch[0].rm_so = 0;
+ pmatch[0].rm_eo = len - 1;
+ if (regexec(&rgx, bfr, 0, pmatch, REG_STARTEND) == 0)
newfile();
} else if (lcnt++ == numlines) {
newfile();
More information about the svn-src-all
mailing list