about summary refs log tree commit diff
path: root/Src/subst.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/subst.c')
-rw-r--r--Src/subst.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/Src/subst.c b/Src/subst.c
index 079d9efde..932f41287 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -2879,7 +2879,14 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags)
     } else if (inbrace && (*s == '|' || *s == Bar ||
 			   *s == '*' || *s == Star)) {
 	int intersect = (*s == '*' || *s == Star);
-	char **compare = getaparam(++s), **ap, **apsrc;
+	char **compare, **ap, **apsrc;
+	++s;
+	if (*itype_end(s, IIDENT, 0)) {
+	    untokenize(s);
+	    zerr("not an identifier: %s", s);
+	    return NULL;
+	}
+	compare = getaparam(s);
 	if (compare) {
 	    HashTable ht = newuniqtable(arrlen(compare)+1);
 	    int present;