about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2003-08-06 09:05:09 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2003-08-06 09:05:09 +0000
commit5946c72266e9b1981864097bad85f39cec49d4f1 (patch)
tree67f2f3d841f800a6e7972b81897ff1e6e1333c30
parent44b19fed8207c309f2631f9299b0c325c5776762 (diff)
downloadzsh-5946c72266e9b1981864097bad85f39cec49d4f1.tar.gz
zsh-5946c72266e9b1981864097bad85f39cec49d4f1.tar.xz
zsh-5946c72266e9b1981864097bad85f39cec49d4f1.zip
18922: fix minor bug with f glob qualifier
-rw-r--r--ChangeLog4
-rw-r--r--Src/glob.c7
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6db6ad051..c61f1060b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,10 @@
 	18916 to use space to join if unset, as per POSIX; set IFS locally
 	in completion just in case.
 
+2003-08-01  Oliver Kiddle  <opk@zsh.org>
+
+	* 18922: Src/glob.c: fix minor bug with f glob qualifier
+
 2003-08-01  Peter Stephenson  <pws@csr.com>
 
 	* 18916: Src/utils.c: Unsetting IFS could cause segmentation
diff --git a/Src/glob.c b/Src/glob.c
index 40da2807b..082eea380 100644
--- a/Src/glob.c
+++ b/Src/glob.c
@@ -813,7 +813,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')) {
@@ -837,7 +837,10 @@ qgetmodespec(char **s)
 		yes |= val;
 	    else
 		no |= val;
-	}
+	} else {
+	    zerr("invalid mode specification", NULL, 0);
+	    return 0;
+        }
     } while (end && c != end);
 
     *s = p;