diff options
author | Oliver Kiddle <okiddle@yahoo.co.uk> | 2019-05-14 23:18:32 +0200 |
---|---|---|
committer | Oliver Kiddle <okiddle@yahoo.co.uk> | 2019-05-14 23:18:32 +0200 |
commit | d66fd7fcf503b0b8a96b9aafc7263de9886a661e (patch) | |
tree | d8025bb90c7cab4da2b2a6c7abd9910a8bc1da4a /Src | |
parent | 30e356eb1a599dc634e2b46da272afacd46553de (diff) | |
download | zsh-d66fd7fcf503b0b8a96b9aafc7263de9886a661e.tar.gz zsh-d66fd7fcf503b0b8a96b9aafc7263de9886a661e.tar.xz zsh-d66fd7fcf503b0b8a96b9aafc7263de9886a661e.zip |
44291: printf with argument specifier out of range for an int crashed the shell
Diffstat (limited to 'Src')
-rw-r--r-- | Src/builtin.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/Src/builtin.c b/Src/builtin.c index 49f017046..5fbb86635 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -4993,8 +4993,7 @@ bin_print(char *name, char **args, Options ops, int func) narg = strtoul(c, &endptr, 0); if (*endptr == '$') { c = endptr + 1; - DPUTS(narg <= 0, "specified zero or negative arg"); - if (narg > argc) { + if (narg <= 0 || narg > argc) { zwarnnam(name, "%d: argument specifier out of range", narg); if (fout != stdout) |