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++;
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"