<div dir="ltr">Done, thanks!</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 14, 2016 at 5:18 PM, Sam Mendoza-Jonas <span dir="ltr"><<a href="mailto:sam@mendozajonas.com" target="_blank">sam@mendozajonas.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Alan,<br>
<br>
Finally found some time to work through these patches - everything looks<br>
good, but this one is missing your Signed-off-by - if you can add that<br>
I'll go ahead and merge these.<br>
<br>
Cheers,<br>
Sam<br>
<div><div class="h5"><br>
On Thu, Feb 11, 2016 at 03:14:53PM -0800, Alan Dunn wrote:<br>
> It seems better to treat unset variable values as empty rather than<br>
> crashing in save_env.  While GRUB's behavior is actually to delete the<br>
> variable from the environment block, it seems useful to at least not<br>
> crash while later on someone can do further work to improve GRUB<br>
> compatibility if desired.<br>
><br>
> Tested:<br>
>  Modified test-grub2-save-env to cover this case.<br>
> ---<br>
>  discover/grub2/env.c              | 4 ++++<br>
>  test/parser/test-grub2-save-env.c | 6 ++++++<br>
>  2 files changed, 10 insertions(+)<br>
><br>
> diff --git a/discover/grub2/env.c b/discover/grub2/env.c<br>
> index 3598927..7eda095 100644<br>
> --- a/discover/grub2/env.c<br>
> +++ b/discover/grub2/env.c<br>
> @@ -257,6 +257,10 @@ int builtin_save_env(struct grub2_script *script,<br>
><br>
>               name = argv[i];<br>
>               value = script_env_get(script, name);<br>
> +             if (!value) {<br>
> +                     pb_log("Saved unset environment variable %s!\n", name);<br>
> +                     value = "";<br>
> +             }<br>
><br>
>               update_env(buf + siglen, len - siglen, name, value);<br>
>       }<br>
> diff --git a/test/parser/test-grub2-save-env.c b/test/parser/test-grub2-save-env.c<br>
> index 68e91bd..36725e2 100644<br>
> --- a/test/parser/test-grub2-save-env.c<br>
> +++ b/test/parser/test-grub2-save-env.c<br>
> @@ -74,6 +74,12 @@ struct env_test {<br>
>               "a=xxx\nsave_env a\n",<br>
>               "q=q\na=x\nr=r\n#",<br>
>       },<br>
> +     {<br>
> +             "unset-var",<br>
> +             "##############",<br>
> +             "save_env an_unset_var\n",<br>
> +             "an_unset_var=\n"<br>
> +     }<br>
>  };<br>
><br>
>  static void run_env_test(struct parser_test *test, struct env_test *envtest)<br>
> --<br>
> 2.7.0.rc3.207.g0ac5344<br>
><br>
</div></div>> _______________________________________________<br>
> Petitboot mailing list<br>
> <a href="mailto:Petitboot@lists.ozlabs.org">Petitboot@lists.ozlabs.org</a><br>
> <a href="https://lists.ozlabs.org/listinfo/petitboot" rel="noreferrer" target="_blank">https://lists.ozlabs.org/listinfo/petitboot</a><br>
<br>
</blockquote></div><br></div>