diff options
| author | Peter Stephenson <pws@users.sourceforge.net> | 2012-04-22 20:49:39 +0000 |
|---|---|---|
| committer | Peter Stephenson <pws@users.sourceforge.net> | 2012-04-22 20:49:39 +0000 |
| commit | e49e41725abbd851e501855c4139b4826093ba0d (patch) | |
| tree | 7ba149fbbbc3a31e686cfb933e7c51de1db7ec29 /Src | |
| parent | 30439: ${...:*...} with nonexistent or non-array after * (diff) | |
| download | zsh-e49e41725abbd851e501855c4139b4826093ba0d.tar zsh-e49e41725abbd851e501855c4139b4826093ba0d.tar.gz zsh-e49e41725abbd851e501855c4139b4826093ba0d.tar.bz2 zsh-e49e41725abbd851e501855c4139b4826093ba0d.tar.lz zsh-e49e41725abbd851e501855c4139b4826093ba0d.tar.xz zsh-e49e41725abbd851e501855c4139b4826093ba0d.tar.zst zsh-e49e41725abbd851e501855c4139b4826093ba0d.zip | |
unposted: add test for valid identifier to 30431
Diffstat (limited to 'Src')
| -rw-r--r-- | Src/subst.c | 9 |
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; |
