grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: default menuentry matching similar entries is broken


From: Vladimir 'φ-coder/phcoder' Serbinenko
Subject: Re: default menuentry matching similar entries is broken
Date: Sat, 03 Mar 2012 15:12:17 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20120216 Icedove/8.0

On 03.03.2012 15:02, Seth Goldberg wrote:
Sigh.  I thought I tracked it down to this code, but it was late.  I'll 
double-check.  The buggy behavior is as I described -- this just may not be the 
actual root cause.  BTW, with the code below, does this mean that having '>' 
characters in the title of menuentries is forbidden?
No, just that you have to escape it with double >. E.g.
default="weird>>submenu>entry"

  Thanks,
  --S


On Mar 3, 2012, at 3:09 AM, Vladimir 'φ-coder/phcoder' Serbinenko wrote:

On 03.03.2012 08:33, Seth Goldberg wrote:
Hi,

   This code in menu.c::menuentry_eq() looks wrong:

{
   const char *ptr1, *ptr2;
   ptr1 = title;
   ptr2 = spec;
   while (1)
     {
       if (*ptr2 == '>'&&   ptr2[1] != '>'&&   *ptr1 == 0)
         return 1;
       if (*ptr2 == '>'&&   ptr2[1] != '>')
         return 0;
       if (*ptr2 == '>')
         ptr2++;
       if (*ptr1 != *ptr2)
         return 0;
       if (*ptr1 == 0)<----
         return 1;
       ptr1++;
       ptr2++;
     }
}


   Specifically, if there are two menuentries that differ by adding characters, 
this function will match the wrong one, i.e.:
Have you actually tested this? Since from the code readin just before it we 
have:

      if (*ptr1 != *ptr2)
        return 0;

So the code you point at is trigered only if both *ptr1 and *ptr2 are 0
  Also, what's the deal with the '>' characters?  What are they supposed to do? I 
can't seem to find the use of'>'  documented anywhere.
It's for submenus:
"submenu>subsubmenu>entry"
  Thanks,
  --S
_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel


--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko


_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel



--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko




reply via email to

[Prev in Thread] Current Thread [Next in Thread]