diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-11-28 12:16:29 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-11-28 12:16:29 +0100 |
commit | 75a1c87357070ec0229f1c98d887bc1c526bb81c (patch) | |
tree | 6305a19d436c673cd0a34e1e149c4fea00f23d11 | |
parent | 572dfb8e78323b9837f7c5e3369ee233a440b8f2 (diff) | |
download | busybox-w32-75a1c87357070ec0229f1c98d887bc1c526bb81c.tar.gz busybox-w32-75a1c87357070ec0229f1c98d887bc1c526bb81c.tar.bz2 busybox-w32-75a1c87357070ec0229f1c98d887bc1c526bb81c.zip |
awk: abort if NF set to negative value
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | editors/awk.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/editors/awk.c b/editors/awk.c index bafc9ba1d..af103e3cc 100644 --- a/editors/awk.c +++ b/editors/awk.c | |||
@@ -1849,6 +1849,8 @@ static void handle_special(var *v) | |||
1849 | 1849 | ||
1850 | if (v == intvar[NF]) { | 1850 | if (v == intvar[NF]) { |
1851 | n = (int)getvar_i(v); | 1851 | n = (int)getvar_i(v); |
1852 | if (n < 0) | ||
1853 | syntax_error("NF set to negative value"); | ||
1852 | fsrealloc(n); | 1854 | fsrealloc(n); |
1853 | 1855 | ||
1854 | /* recalculate $0 */ | 1856 | /* recalculate $0 */ |