about summary refs log tree commit diff
path: root/Src/builtin.c
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2002-10-10 11:06:42 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2002-10-10 11:06:42 +0000
commit7a0ab2444d96365a7aec2c55a4e470513d8e4a10 (patch)
treec0256d226406f3941b8923481c1307c62c9c9f2e /Src/builtin.c
parent114d799efd1463eb1d46c0ee33c5e45948fa9e7d (diff)
downloadzsh-7a0ab2444d96365a7aec2c55a4e470513d8e4a10.tar.gz
zsh-7a0ab2444d96365a7aec2c55a4e470513d8e4a10.tar.xz
zsh-7a0ab2444d96365a7aec2c55a4e470513d8e4a10.zip
17794: fix bugs with tied parameters
Diffstat (limited to 'Src/builtin.c')
-rw-r--r--Src/builtin.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Src/builtin.c b/Src/builtin.c
index 95f3b6f57..d36b697bc 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -2116,6 +2116,11 @@ bin_typeset(char *name, char **argv, Options ops, int func)
 	    zerrnam(name, "can't tie a variable to itself", NULL, 0);
 	    return 1;
 	}
+	if (strchr(asg0.name, '[') || strchr(asg->name, '[')) {
+	    unqueue_signals();
+	    zerrnam(name, "can't tie array elements", NULL, 0);
+	    return 1;
+	}
 	/*
 	 * Keep the old value of the scalar.  We need to do this
 	 * here as if it is already tied to the same array it