diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2015-10-25 21:29:04 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2015-10-25 21:29:04 +0200 |
commit | 1fbfd8232d56c20045e0703f9ad59f07e5965c8a (patch) | |
tree | 1006ab0f78ffd2bbfc9ebfd1a71769d2e6782e0d | |
parent | 903fd5257ddcf8c4b7e4eead08969f3995b40a12 (diff) | |
download | egawk-1fbfd8232d56c20045e0703f9ad59f07e5965c8a.tar.gz egawk-1fbfd8232d56c20045e0703f9ad59f07e5965c8a.tar.bz2 egawk-1fbfd8232d56c20045e0703f9ad59f07e5965c8a.zip |
Fix invalid write in yylex.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | awkgram.c | 3 | ||||
-rw-r--r-- | awkgram.y | 3 |
3 files changed, 10 insertions, 2 deletions
@@ -1,3 +1,9 @@ +2015-10-25 Arnold D. Robbins <arnold@skeeve.com> + + * awkgram.y (yylex): Fix invalid write problems. + Reported by Hanno Boeck <hanno@hboeck.de>. + Only appeared in master. Harumph. + 2015-10-16 Arnold D. Robbins <arnold@skeeve.com> * Makefile.am (SUBDIRS): Fix ordering so that @@ -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; @@ -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; |