Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Sep 2016 23:04:56 +0000 (UTC)
From:      "Andrey A. Chernov" <ache@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r305365 - head/contrib/one-true-awk
Message-ID:  <201609032304.u83N4une089334@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ache
Date: Sat Sep  3 23:04:56 2016
New Revision: 305365
URL: https://svnweb.freebsd.org/changeset/base/305365

Log:
  The bug:
  $ echo x | awk '/[[:cntrl:]]/'
  x
  
  The NUL character in cntrl class truncates the pattern, and an empty
  pattern matches anything. The patch skips NUL as a quick fix.
  
  PR:     195792
  Submitted by:   kdrakehp@zoho.com
  Approved by:    bwk@cs.princeton.edu (the author)
  MFC after:      3 days

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

Modified: head/contrib/one-true-awk/b.c
==============================================================================
--- head/contrib/one-true-awk/b.c	Sat Sep  3 21:41:29 2016	(r305364)
+++ head/contrib/one-true-awk/b.c	Sat Sep  3 23:04:56 2016	(r305365)
@@ -841,7 +841,7 @@ int relex(void)		/* lexical analyzer for
 				if (cc->cc_name != NULL && prestr[1 + cc->cc_namelen] == ':' &&
 				    prestr[2 + cc->cc_namelen] == ']') {
 					prestr += cc->cc_namelen + 3;
-					for (i = 0; i < NCHARS; i++) {
+					for (i = 1; i < NCHARS; i++) {
 						if (!adjbuf((char **) &buf, &bufsz, bp-buf+1, 100, (char **) &bp, "relex2"))
 						    FATAL("out of space for reg expr %.10s...", lastre);
 						if (cc->cc_func(i)) {



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