From a80a8b8a10a8b3d46046d955986f484527c81c0b Mon Sep 17 00:00:00 2001
From: Eli Zaretskii <eliz@gnu.org>
Date: Sat, 28 Feb 2015 14:34:51 +0200
Subject: [SV 44348] Fix handling of shell widlcards on MS-Windows.

	* job.c (construct_command_argv_internal): If shell wildcard
	characters are found inside a string quoted with "..", give up the
	fast route and go through the shell.  Fixes Savannah bug #44348.
---
 job.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/job.c b/job.c
index 6616325..3d9aec5 100644
--- a/job.c
+++ b/job.c
@@ -2890,6 +2890,10 @@ construct_command_argv_internal (char *line, char **restp, const char *shell,
           else if (instring == '"' && strchr ("\\$`", *p) != 0 && unixy_shell)
             goto slow;
 #ifdef WINDOWS32
+	  /* Quoted wildcard characters must be passed quoted to the
+	     command, so give up the fast route.  */
+	  else if (instring == '"' && strchr ("*?", *p) != 0 && !unixy_shell)
+	    goto slow;
           else if (instring == '"' && strncmp (p, "\\\"", 2) == 0)
             *ap++ = *++p;
 #endif
-- 
cgit v1.2.3