From 389f9d52d5520dea157fab474caacf3d8b1bde73 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Wed, 9 May 2007 21:57:23 +0000 Subject: awk: don't segfault on printf(%*s). Close 1337. --- editors/awk.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/editors/awk.c b/editors/awk.c index bc9e99a6f..2e67f67fb 100644 --- a/editors/awk.c +++ b/editors/awk.c @@ -1756,8 +1756,11 @@ static char *awk_printf(node *n) s = f; while (*f && (*f != '%' || *(++f) == '%')) f++; - while (*f && !isalpha(*f)) + while (*f && !isalpha(*f)) { + if (*f == '*') + syntax_error("%*x formats are not supported"); f++; + } incr = (f - s) + MAXVARFMT; qrealloc(&b, incr + i, &bsize); -- cgit v1.2.3