diff --git a/ChangeLog b/ChangeLog index 2a92bac81..c5b6d9d9f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-03-04 Hideki EIRAKU + + * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one + error. + 2012-03-04 Vladimir Serbinenko Use sort -V by the idea of Georgi Georgiev. diff --git a/grub-core/normal/menu_entry.c b/grub-core/normal/menu_entry.c index 7af093fd8..b81500e0a 100644 --- a/grub-core/normal/menu_entry.c +++ b/grub-core/normal/menu_entry.c @@ -890,7 +890,7 @@ kill_line (struct screen *screen, int continuous, int update) return 0; grub_memmove (p + offset, linep->buf + screen->column, size); - p[offset + size - 1] = '\0'; + p[offset + size] = '\0'; screen->killed_text = p; @@ -900,9 +900,9 @@ kill_line (struct screen *screen, int continuous, int update) if (update) { - new_num = get_logical_num_lines (linep, &screen->terms[i]); for (i = 0; i < screen->nterms; i++) { + new_num = get_logical_num_lines (linep, &screen->terms[i]); if (orig_num[i] != new_num) update_screen (screen, &screen->terms[i], screen->line, screen->column, 0, 1, ALL_LINES);