diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2007-02-12 16:43:40 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2007-02-12 16:43:40 +0000 |
commit | 2c92d005d7c0b828dc9bec3f220543b716dad6ee (patch) | |
tree | 24cb70e449c9a16627d5e61658e1b3f428794efb /Src/utils.c | |
parent | 9ed500a1cd6d31522675b313d52fc5ba624095c7 (diff) | |
download | zsh-2c92d005d7c0b828dc9bec3f220543b716dad6ee.tar.gz zsh-2c92d005d7c0b828dc9bec3f220543b716dad6ee.tar.xz zsh-2c92d005d7c0b828dc9bec3f220543b716dad6ee.zip |
23165: fix problems with bases: error if over 36 and don't interpret octal
Diffstat (limited to 'Src/utils.c')
-rw-r--r-- | Src/utils.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Src/utils.c b/Src/utils.c index 2ea8ba991..0e7a7d2bb 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -1803,7 +1803,10 @@ zstrtol(const char *s, char **t, int base) base = 8; } inp = s; - if (base <= 10) + if (base > 36) { + zerr("invalid base: %d", base); + return (zlong)0; + } else if (base <= 10) for (; *s >= '0' && *s < ('0' + base); s++) { if (trunc) continue; |