* normal/execute.c (grub_script_execute_cmdline): Reset error number before returning from grub_script_execute_cmdline. Index: normal/execute.c =================================================================== RCS file: /sources/grub/grub2/normal/execute.c,v retrieving revision 1.4 diff -u -r1.4 execute.c --- normal/execute.c 28 May 2006 21:58:34 -0000 1.4 +++ normal/execute.c 27 Jun 2007 11:27:13 -0000 @@ -119,7 +124,8 @@ grub_errno = GRUB_ERR_NONE; } grub_free (assign); - return 0; + ret = grub_errno; + goto quit; } } @@ -168,9 +174,11 @@ grub_free (args[i]); grub_free (args); +quit: grub_sprintf (errnobuf, "%d", ret); grub_env_set ("?", errnobuf); + grub_errno = 0; return ret; }