aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.c
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2017-01-26 20:17:22 -0500
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2017-01-26 20:17:22 -0500
commite1bfc3a49d45024f84f489ac6a7ebcd505ec203a (patch)
treed867f14cbca1f6771e4ab7b203ea7f5e60a83080 /awkgram.c
parent820db14f26ad8d203f6c3de6b51ff7bc2ec3476f (diff)
downloadegawk-e1bfc3a49d45024f84f489ac6a7ebcd505ec203a.tar.gz
egawk-e1bfc3a49d45024f84f489ac6a7ebcd505ec203a.tar.bz2
egawk-e1bfc3a49d45024f84f489ac6a7ebcd505ec203a.zip
Fix possible string overrun in strtonum function.
Diffstat (limited to 'awkgram.c')
-rw-r--r--awkgram.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/awkgram.c b/awkgram.c
index c6f47dbd..f5fa6b2f 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -6414,7 +6414,7 @@ retry:
base = 10;
if (! do_traditional) {
- base = get_numbase(tokstart, false);
+ base = get_numbase(tokstart, strlen(tokstart)-1, false);
if (do_lint) {
if (base == 8)
lintwarn("numeric constant `%.*s' treated as octal",
@@ -6450,7 +6450,7 @@ retry:
}
#endif
if (base != 10)
- d = nondec2awknum(tokstart, strlen(tokstart), NULL);
+ d = nondec2awknum(tokstart, strlen(tokstart)-1, NULL);
else
d = atof(tokstart);
yylval->memory = make_profile_number(d, tokstart, strlen(tokstart) - 1);