| To: vim-dev@vim.org |
| Subject: patch 7.1.096 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=ISO-8859-1 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.1.096 |
| Problem: Reading past end of a string when resizing Vim. (Dominique Pelle) |
| Solution: Check the string pointer before getting the char it points to. |
| Files: src/message.c |
| |
| |
| |
| |
| |
| *** 944,949 **** |
| --- 944,950 ---- |
| c = K_IGNORE; |
| } |
| #endif |
| + |
| /* |
| * Allow scrolling back in the messages. |
| * Also accept scroll-down commands when messages fill the screen, |
| |
| *** 1840,1845 **** |
| --- 1841,1847 ---- |
| char_u *sb_str = str; |
| int sb_col = msg_col; |
| int wrap; |
| + int did_last_char; |
| |
| did_wait_return = FALSE; |
| while ((maxlen < 0 || (int)(s - str) < maxlen) && *s != NUL) |
| |
| *** 1909,1915 **** |
| --- 1911,1920 ---- |
| else |
| #endif |
| msg_screen_putchar(*s++, attr); |
| + did_last_char = TRUE; |
| } |
| + else |
| + did_last_char = FALSE; |
| |
| if (p_more) |
| /* store text for scrolling back */ |
| |
| *** 1944,1954 **** |
| |
| /* When we displayed a char in last column need to check if there |
| * is still more. */ |
| ! if (*s >= ' ' |
| ! #ifdef FEAT_RIGHTLEFT |
| ! && !cmdmsg_rl |
| ! #endif |
| ! ) |
| continue; |
| } |
| |
| --- 1949,1955 ---- |
| |
| /* When we displayed a char in last column need to check if there |
| * is still more. */ |
| ! if (did_last_char) |
| continue; |
| } |
| |
| |
| |
| |
| *** 668,669 **** |
| --- 668,671 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 96, |
| /**/ |
| |
| -- |
| Yah, well, we had to carve our electrons out of driftwood we'd |
| find. In the winter. Uphill. Both ways. |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ download, build and distribute -- http://www.A-A-P.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |