diff options
author | Oliver Kiddle <opk@users.sourceforge.net> | 2003-08-01 14:14:19 +0000 |
---|---|---|
committer | Oliver Kiddle <opk@users.sourceforge.net> | 2003-08-01 14:14:19 +0000 |
commit | 2e70a25d463b42f30aa404a22fca4582d660c0ba (patch) | |
tree | 9daf0641c6832fdf3ad482c0c9f1537b9ea8a066 /Src/glob.c | |
parent | 280593163d7c53e45a1796f1e31897164a8fa59f (diff) | |
download | zsh-2e70a25d463b42f30aa404a22fca4582d660c0ba.tar.gz zsh-2e70a25d463b42f30aa404a22fca4582d660c0ba.tar.xz zsh-2e70a25d463b42f30aa404a22fca4582d660c0ba.zip |
fix bug with f glob qualifier where an empty spec resulted in an infinite loop
Diffstat (limited to 'Src/glob.c')
-rw-r--r-- | Src/glob.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Src/glob.c b/Src/glob.c index 2e65fafc7..5f38ad188 100644 --- a/Src/glob.c +++ b/Src/glob.c @@ -814,7 +814,7 @@ qgetmodespec(char **s) } if (how == '=' || how == '-') no |= val & mask; - } else { + } else if (!(end && c == end) && c != ',' && c) { t = 07777; while ((c = *p) == '?' || c == Quest || (c >= '0' && c <= '7')) { @@ -838,7 +838,10 @@ qgetmodespec(char **s) yes |= val; else no |= val; - } + } else { + zerr("invalid mode specification", NULL, 0); + return 0; + } } while (end && c != end); *s = p; |