Wildcard expansion in device name activates my floppy drive (PC BIOS). I noticed that
    echo .
also did so in 1.99, though there should be no expansion. Current source fixes that case but
    echo (.
still runs the floppy.  split_path shouldn't treat . as a wildcard.

I believe the regcomp call in make_regex is incorrect because the constant used is intended only for a lower-level interface. The defines are more than a little confusing.

=== modified file 'ChangeLog'
--- old/ChangeLog    2012-06-09 17:58:38 +0000
+++ new/ChangeLog    2012-06-11 06:32:58 +0000
@@ -1,3 +1,8 @@
+2012-06-11  Bob Mabee <[email protected]>
+
+    * commands/wildcard.c (split_path): . is not a wildcard.
+    * (make_regex): RE_SYNTAX_GNU_AWK is not valid for regcomp cflags.
+
 2012-06-09  Vladimir Serbinenko <[email protected]>

     * tests/grub_script_expansion.in: Explicitly tell grep that we handle

=== modified file 'grub-core/commands/wildcard.c'
--- old/grub-core/commands/wildcard.c    2012-06-08 20:54:21 +0000
+++ new/grub-core/commands/wildcard.c    2012-06-10 23:16:02 +0000
@@ -153,7 +153,7 @@
   buffer[i] = '\0';
   grub_dprintf ("expand", "Regexp is %s\n", buffer);

-  if (regcomp (regexp, buffer, RE_SYNTAX_GNU_AWK))
+  if (regcomp (regexp, buffer, REG_EXTENDED))
     {
       grub_free (buffer);
       return 1;
@@ -181,7 +181,7 @@
       if (ch == '\\' && end[1])
     end++;

-      else if (isregexop (ch))
+      else if (ch == '*')    /* only wildcard currently implemented */
     regex = 1;

       else if (ch == '/' && ! regex)



_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to