aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-09-30 11:35:54 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2016-09-30 11:35:54 +0200
commit50e6d42c1967cbd3b07441876af2a7ff2bbbf63f (patch)
treeb55053eb25d07e976426945519d94dc93aa8b4f3 /shell
parentb6838b520afa8346751577cd7ccbe0b906cd3a52 (diff)
downloadbusybox-50e6d42c1967cbd3b07441876af2a7ff2bbbf63f.tar.gz
ash: Avoid overflow for very long variable name
Upstream commit: Date: Tue, 3 Jul 2012 17:32:33 +0800 Avoid overflow for very long variable name Otherwise, this: $ perl -le 'print "v"x(2**31+1) ."=1"' | dash provokes integer overflow Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 59905aa7b..a1b211ae0 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -11274,7 +11274,7 @@ readtoken1(int c, int syntax, char *eofmark, int striptabs)
/* NB: syntax parameter fits into smallint */
/* c parameter is an unsigned char or PEOF or PEOA */
char *out;
- int len;
+ size_t len;
char line[EOFMARKLEN + 1];
struct nodelist *bqlist;
smallint quotef;