svn commit: r323963 - head/contrib/one-true-awk

Warner Losh imp at FreeBSD.org
Sun Sep 24 05:03:59 UTC 2017


Author: imp
Date: Sun Sep 24 05:03:57 2017
New Revision: 323963
URL: https://svnweb.freebsd.org/changeset/base/323963

Log:
  Fix uninitialized variable
  
  echo | awk 'BEGIN {i=$1; print i}' prints a boatload of stack
  garbage. NUL terminate the memory returned from malloc to prevent it.
  
  Obtained from: OpenBSD run.c 1.40
  Sponsored by: Netflix
  Differential Revision: https://reviews.freebsd.org/D12379

Modified:
  head/contrib/one-true-awk/lib.c

Modified: head/contrib/one-true-awk/lib.c
==============================================================================
--- head/contrib/one-true-awk/lib.c	Sun Sep 24 03:33:26 2017	(r323962)
+++ head/contrib/one-true-awk/lib.c	Sun Sep 24 05:03:57 2017	(r323963)
@@ -62,6 +62,7 @@ void recinit(unsigned int n)
 	  || (fldtab = (Cell **) malloc((nfields+1) * sizeof(Cell *))) == NULL
 	  || (fldtab[0] = (Cell *) malloc(sizeof(Cell))) == NULL )
 		FATAL("out of space for $0 and fields");
+	*record = '\0';
 	*fldtab[0] = dollar0;
 	fldtab[0]->sval = record;
 	fldtab[0]->nval = tostring("0");


More information about the svn-src-head mailing list