about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorOliver Kiddle <okiddle@yahoo.co.uk>2019-05-14 23:18:32 +0200
committerOliver Kiddle <okiddle@yahoo.co.uk>2019-05-14 23:18:32 +0200
commitd66fd7fcf503b0b8a96b9aafc7263de9886a661e (patch)
treed8025bb90c7cab4da2b2a6c7abd9910a8bc1da4a /Src
parent30e356eb1a599dc634e2b46da272afacd46553de (diff)
downloadzsh-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.c3
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)