From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
To: The development of GRUB 2 <grub-devel@gnu.org>
Cc: bug-grub@gnu.org, Andreas Born <futur.andy@googlemail.com>
Subject: Re: [bug #27695] parser.sh ignores the closing quote when preceeded by a variable
Date: Thu, 15 Oct 2009 15:28:02 +0200 [thread overview]
Message-ID: <4AD72362.3030805@gmail.com> (raw)
In-Reply-To: <20091013-211116.sv74720.58002@savannah.gnu.org>
[-- Attachment #1: Type: text/plain, Size: 1903 bytes --]
Andreas Born wrote:
> URL:
> <http://savannah.gnu.org/bugs/?27695>
>
> Summary: parser.sh ignores the closing quote when preceeded
> by a variable
>
Attached patch should fix this bug
> Project: GNU GRUB
> Submitted by: shador
> Submitted on: Di 13 Okt 2009 21:11:16 GMT
> Category: Terminal
> Severity: Major
> Priority: 5 - Normal
> Item Group: Software Error
> Status: None
> Privacy: Public
> Assigned to: None
> Originator Name:
> Originator Email:
> Open/Closed: Open
> Discussion Lock: Any
> Release:
> Release: SVN
> Reproducibility: Every Time
> Planned Release: None
>
> _______________________________________________________
>
> Details:
>
> The problem is reproducible with this example:
>
>> set blub=blob
>> echo $blub
>>
> blob
>
>> echo "${blub}"
>>
> blob
>
>> echo "$blub"
>>
>>
> => fails, the closing quote is ignored
>
>> echo "$blub""
>>
> blob
> => works as workaround
>
> The real trouble starts with strings containing spaces. But it can be fixed,
> as shown, by adding another quote at the end or using ${...}.
>
> This was tested with beta~4.
>
>
>
>
> _______________________________________________________
>
> Reply to this item at:
>
> <http://savannah.gnu.org/bugs/?27695>
>
> _______________________________________________
> Nachricht geschickt von/durch Savannah
> http://savannah.gnu.org/
>
>
>
> _______________________________________________
> Bug-grub mailing list
> Bug-grub@gnu.org
> http://lists.gnu.org/mailman/listinfo/bug-grub
>
>
--
Regards
Vladimir 'phcoder' Serbinenko
Personal git repository: http://repo.or.cz/w/grub2/phcoder.git
[-- Attachment #2: varquote.diff --]
[-- Type: text/x-patch, Size: 1368 bytes --]
diff --git a/ChangeLog b/ChangeLog
index b0864a9..db30e9f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
+ * script/sh/lexer.c (grub_script_yylex): Prevent character from changing
+ state twice.
+
+2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
+
* loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
diff --git a/script/sh/lexer.c b/script/sh/lexer.c
index a30e3c0..0c71dae 100644
--- a/script/sh/lexer.c
+++ b/script/sh/lexer.c
@@ -350,9 +350,11 @@ grub_script_yylex (union YYSTYPE *yylval, struct grub_parser_param *parsestate)
if (! (check_varstate (newstate)))
{
if (state->state == GRUB_PARSER_STATE_VARNAME2
- || state->state == GRUB_PARSER_STATE_QVARNAME2)
- nextchar (state);
- state->state = newstate;
+ || state->state == GRUB_PARSER_STATE_QVARNAME2)
+ {
+ nextchar (state);
+ state->state = newstate;
+ }
break;
}
@@ -378,7 +380,6 @@ grub_script_yylex (union YYSTYPE *yylval, struct grub_parser_param *parsestate)
buffer[bufpos++] = 0;
- state->state = newstate;
yylval->arg = grub_script_arg_add (parsestate, yylval->arg,
GRUB_SCRIPT_ARG_TYPE_VAR, buffer);
grub_dprintf ("scripting", "vartoken=`%s'\n", buffer);
next parent reply other threads:[~2009-10-15 13:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20091013-211116.sv74720.58002@savannah.gnu.org>
2009-10-15 13:28 ` Vladimir 'phcoder' Serbinenko [this message]
2009-10-16 18:35 ` [bug #27695] parser.sh ignores the closing quote when preceeded by a variable Robert Millan
2009-12-06 22:57 ` Andreas Born
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AD72362.3030805@gmail.com \
--to=phcoder@gmail.com \
--cc=bug-grub@gnu.org \
--cc=futur.andy@googlemail.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox