Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 May 2015 09:33:32 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r282466 - head/usr.bin/checknr
Message-ID:  <201505050933.t459XW2A068317@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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++;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505050933.t459XW2A068317>