]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
authorHideki EIRAKU <hdk1983@gmail.com>
Sun, 4 Mar 2012 23:02:17 +0000 (00:02 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 4 Mar 2012 23:02:17 +0000 (00:02 +0100)
error.

ChangeLog
grub-core/normal/menu_entry.c

index 2a92bac8171e41f424dcb1eace3075e1203af719..c5b6d9d9f42bdb49b3fc5cf11f9fba459981a314 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-04  Hideki EIRAKU <hdk1983@gmail.com>
+
+       * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
+       error.
+
 2012-03-04  Vladimir Serbinenko  <phcoder@gmail.com>
 
        Use sort -V by the idea of Georgi Georgiev.
index 7af093fd87694df64a49f182beb5420ef8ee3b9e..b81500e0a27e341320d5774f18b16dcda82e6004 100644 (file)
@@ -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);