diff --git a/ChangeLog b/ChangeLog index bffd6c16c..9986929d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-07-25 Vladimir Serbinenko + + * kern/parser.c (grub_parser_execute): Fix a bug causing truncated + entries on failed boot. + 2009-07-25 Felix Zielcke * kern/file.c (grub_file_open): Fix an error check. diff --git a/kern/parser.c b/kern/parser.c index 5e56ede91..db59af056 100644 --- a/kern/parser.c +++ b/kern/parser.c @@ -245,10 +245,12 @@ grub_parser_execute (char *source) p = grub_strchr (source, '\n'); if (p) - *(p++) = 0; + *p = 0; *line = grub_strdup (source); - source = p; + if (p) + *p = '\n'; + source = p ? p + 1 : 0; return 0; }