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");
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to