about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2001-10-22 17:01:16 +0000
committerBart Schaefer <barts@users.sourceforge.net>2001-10-22 17:01:16 +0000
commit9f89b1da103c5feb289e779b81edb8fcbf2abd6e (patch)
treec13845e0c7d46e25b6c60f99a891e1ca935bfa63 /Src
parentea6482b458d4e905f16264c2d71a922db5688624 (diff)
downloadzsh-9f89b1da103c5feb289e779b81edb8fcbf2abd6e.tar.gz
zsh-9f89b1da103c5feb289e779b81edb8fcbf2abd6e.tar.xz
zsh-9f89b1da103c5feb289e779b81edb8fcbf2abd6e.zip
Report error on setting a limit to a string that os not a decimal number.
Diffstat (limited to 'Src')
-rw-r--r--Src/Builtins/rlimits.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/Src/Builtins/rlimits.c b/Src/Builtins/rlimits.c
index f81ce2412..359e04ed0 100644
--- a/Src/Builtins/rlimits.c
+++ b/Src/Builtins/rlimits.c
@@ -332,7 +332,12 @@ bin_limit(char *nam, char **argv, char *ops, int func)
 	} else if (limtype[lim] == ZLIMTYPE_NUMBER || limtype[lim] == ZLIMTYPE_UNKNOWN) {
 	    /* pure numeric resource -- only a straight decimal number is
 	    permitted. */
-	    val = zstrtorlimt(s, &s, 10);
+	    char *t = s;
+	    val = zstrtorlimt(t, &s, 10);
+	    if (s == t) {
+		zwarnnam("limit", "limit must be a number", NULL, 0);
+		return 1;
+	    }
 	} else {
 	    /* memory-type resource -- `k' and `M' modifiers are permitted,
 	    meaning (respectively) 2^10 and 2^20. */