about summary refs log tree commit diff
path: root/Src/subst.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2012-04-16 11:26:09 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2012-04-16 11:26:09 +0000
commit4f142f279468a2d2d2500555e00649db9e74836f (patch)
tree52943ca2fc0fd668cf5bfeb18f0f16d11b109d11 /Src/subst.c
parent3dbb6723abcdcc41efef541c5b358c8e2df2da9a (diff)
downloadzsh-4f142f279468a2d2d2500555e00649db9e74836f.tar.gz
zsh-4f142f279468a2d2d2500555e00649db9e74836f.tar.xz
zsh-4f142f279468a2d2d2500555e00649db9e74836f.zip
30413: (q-) parameter flag should quote null string
(q-q) etc. should be treated as errors
Diffstat (limited to 'Src/subst.c')
-rw-r--r--Src/subst.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Src/subst.c b/Src/subst.c
index 04ef1a4fb..dac536f14 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -1828,6 +1828,10 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags)
 			quotemod = 1;
 			quotetype = QT_SINGLE_OPTIONAL;
 		    } else {
+			if (quotetype == QT_SINGLE_OPTIONAL) {
+			    /* extra q's after '-' not allowed */
+			    goto flagerr;
+			}
 			quotemod++, quotetype++;
 		    }
 		    break;