grub-devel
[Top][All Lists]
Advanced

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

Re: [RFC] Don't pass filename in multiboot command line


From: Robert Millan
Subject: Re: [RFC] Don't pass filename in multiboot command line
Date: Mon, 3 Aug 2009 00:41:20 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

On Sun, Aug 02, 2009 at 11:42:43PM +0200, Vladimir 'phcoder' Serbinenko wrote:
> >> No. Now we have an extra element that is always present and we want to
> >> remove but when we remove command line can be empty and code must
> >> handle it correctly.
> >
> > Please try this patch.
> I haven't tried it because I know it will fail if someone does
> multiboot /payload
> Then cmdline_argc = 0;
> At the end of the loop p=cmdline;
> and *(--p) = 0 will overwrite an unrelated byte and cmdline pointer
> will be the same as boot_loader_name pointer and payload will recieve
> "GRUB 1.96" as command line

You're right.  I overlooked that the *(--p) change has a different purpose and
is still needed, but that's no reason we need off-by-one loops when parsing
argv.  Simply discard the first member by using a separate variable like
in my patch;  this results in more readable code.

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."




reply via email to

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