From 1fbfd8232d56c20045e0703f9ad59f07e5965c8a Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 25 Oct 2015 21:29:04 +0200 Subject: Fix invalid write in yylex. --- ChangeLog | 6 ++++++ awkgram.c | 3 ++- awkgram.y | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 13468de2..7017741f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2015-10-25 Arnold D. Robbins + + * awkgram.y (yylex): Fix invalid write problems. + Reported by Hanno Boeck . + Only appeared in master. Harumph. + 2015-10-16 Arnold D. Robbins * Makefile.am (SUBDIRS): Fix ordering so that diff --git a/awkgram.c b/awkgram.c index f8f80ad5..b37ee57a 100644 --- a/awkgram.c +++ b/awkgram.c @@ -4736,7 +4736,8 @@ yyerror(const char *m, ...) count = strlen(mesg) + 1; if (lexptr != NULL) count += (lexeme - thisline) + 2; - emalloc(buf, char *, count, "yyerror"); + emalloc(buf, char *, count+1, "yyerror"); + memset(buf, 0, count+1); bp = buf; diff --git a/awkgram.y b/awkgram.y index 88f5e209..7805f144 100644 --- a/awkgram.y +++ b/awkgram.y @@ -2316,7 +2316,8 @@ yyerror(const char *m, ...) count = strlen(mesg) + 1; if (lexptr != NULL) count += (lexeme - thisline) + 2; - emalloc(buf, char *, count, "yyerror"); + emalloc(buf, char *, count+1, "yyerror"); + memset(buf, 0, count+1); bp = buf; -- cgit v1.2.3