svn commit: r282466 - head/usr.bin/checknr
Baptiste Daroussin
bapt at FreeBSD.org
Tue May 5 09:33:33 UTC 2015
Author: bapt
Date: Tue May 5 09:33:32 2015
New Revision: 282466
URL: https://svnweb.freebsd.org/changeset/base/282466
Log:
Properly assign open and close brackets and checks memory
Obtained from: NetBSD
Modified:
head/usr.bin/checknr/checknr.c
Modified: head/usr.bin/checknr/checknr.c
==============================================================================
--- head/usr.bin/checknr/checknr.c Tue May 5 09:33:02 2015 (r282465)
+++ head/usr.bin/checknr/checknr.c Tue May 5 09:33:32 2015 (r282466)
@@ -215,8 +215,18 @@ main(int argc, char **argv)
for (i=0; br[i].opbr; i++)
;
for (cp=argv[1]+3; cp[-1]; cp += 6) {
- br[i].opbr = strncpy(malloc(3), cp, 2);
- br[i].clbr = strncpy(malloc(3), cp+3, 2);
+ char *tmp;
+
+ if (i >= MAXBR)
+ errx(1, "too many pairs");
+ if ((tmp = malloc(3)) == NULL)
+ err(1, "malloc");
+ strlcpy(tmp, cp, 3);
+ br[i].opbr = tmp;
+ if ((tmp = malloc(3)) == NULL)
+ err(1, "malloc");
+ strlcpy(tmp, cp+3, 3);
+ br[i].clbr = tmp;
addmac(br[i].opbr); /* knows pairs are also known cmds */
addmac(br[i].clbr);
i++;
More information about the svn-src-all
mailing list