commit c45335782a463d05ddf7b2351b589975086226ef
parent 434d686ee4c2d46ac08425d1809afffb9548849c
Author: Chris Allegretta <chrisa@asty.org>
Date: Mon, 3 Feb 2003 05:04:09 +0000
- files.c:save_history() Fix off-by-one bug causing write to unallocated memory (David Benbennick)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1417 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -60,6 +60,8 @@ CVS Code -
mode on. (DLR; found by David Benbennick)
save_history()
- Fix nrealloc return value being ignored (David Benbennick).
+ - Fix off-by-one bug causing write to unallocated memory
+ (David Benbennick).
- global.c:
thanks_for_all_the_fish()
- Fix compiling with DEBUG and multibuffer (David Benbennick).
diff --git a/files.c b/files.c
@@ -2932,7 +2932,7 @@ void save_history(void)
chmod(nanohist, S_IRUSR | S_IWUSR);
/* write oldest first */
for (h = search_history.tail ; h->prev ; h = h->prev) {
- h->data = nrealloc(h->data, strlen(h->data) + 1);
+ h->data = nrealloc(h->data, strlen(h->data) + 2);
strcat(h->data, "\n");
if (fputs(h->data, hist) == EOF) {
rcfile_msg(_("Unable to write ~/.nano_history file, %s"), strerror(errno));
@@ -2944,7 +2944,7 @@ void save_history(void)
goto come_from;
}
for (h = replace_history.tail ; h->prev ; h = h->prev) {
- h->data = nrealloc(h->data, strlen(h->data) + 1);
+ h->data = nrealloc(h->data, strlen(h->data) + 2);
strcat(h->data, "\n");
if (fputs(h->data, hist) == EOF) {
rcfile_msg(_("Unable to write ~/.nano_history file, %s"), strerror(errno));