commit | 389f9d52d5520dea157fab474caacf3d8b1bde73 | [log] [tgz] |
---|---|---|
author | Denis Vlasenko <vda.linux@googlemail.com> | Wed May 09 21:57:23 2007 +0000 |
committer | Denis Vlasenko <vda.linux@googlemail.com> | Wed May 09 21:57:23 2007 +0000 |
tree | da613930899b3c3c5347e2cef0e9050c486dce36 | |
parent | 57bf668d118804060cee998408bdfbfb5512e670 [diff] [blame] |
awk: don't segfault on printf(%*s). Close 1337.
diff --git a/editors/awk.c b/editors/awk.c index bc9e99a..2e67f67 100644 --- a/editors/awk.c +++ b/editors/awk.c
@@ -1756,8 +1756,11 @@ 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);