Date: Wed, 2 Oct 2019 06:15:30 +0000 (UTC) From: Alexander Kabaev <kan@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r352953 - in head/usr.bin: killall split Message-ID: <201910020615.x926FUJj091147@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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();
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201910020615.x926FUJj091147>