[arch-projects] [mkinitcpio] [RFC] Rewrite parse_cmdline (again)

Thomas Bächler thomas at archlinux.org
Thu Apr 14 18:21:16 EDT 2011


Am 14.04.2011 23:44, schrieb dave reisner:
>> > I posted what I thought was a valid solution on FS#23467 from stack
>> > overflow that seems to be a lot more sane and _much_ more maintainable.
>> > For those who weren't following the report, I suggested that we use the
>> > same fallback as /etc/fstab, which says to encode spaces with octal
>> > sequences. These can then be decoded using printf's %b flag. It requires
>> > only a simple change to the current parse_cmdline function.
>>
>> I really don't understand what you mean (or how it would help). What you
>> mentioned doesn't solve the initial problem of finding out which spaces
>> separate arguments and which spaces are inside quoted strings.
>>
> 
> It absolutely does because it eliminates spaces within variables, e.g.
> video=foo\040bar root=…
> 
> The whole point is that quotes aren't used. fstab sets precedent here so
> its not some wild and whacky new thing being introduced.

I'll have to recheck this.

>> If you check carefully, I use eval right here. There is nothing in the
>> eval'ed strings that should cause trouble.
>>
> We'll have to agree to disagree here. The problem is that you can't know
> what eval is executing in this case because its unbounded and unchecked
> input.

The only thing I do is:
 eval ${lhs}=\${rhs}
${lhs} is only characters, numbers and underscores, and \${rhs} only
evaluates to ${rhs}. I don't see a problem here.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.archlinux.org/pipermail/arch-projects/attachments/20110415/e1b6437c/attachment.asc>


More information about the arch-projects mailing list