From 7208e4c3055593f4c1d9725617d7ac6277526070 Mon Sep 17 00:00:00 2001 From: corinna Date: Tue, 5 Jun 2001 17:59:46 +0000 Subject: [PATCH] * fhandler_console.cc (fhandler_console::dup): Allocate space for savebuf on Cygwin heap. (fhandler_console::char_command): Ditto. Use correct values for size. --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/fhandler_console.cc | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 0a3a2082bf..9d89460ead 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +Tue Jun 5 19:56:00 2001 Corinna Vinschen + + * fhandler_console.cc (fhandler_console::dup): Allocate space for + savebuf on Cygwin heap. + (fhandler_console::char_command): Ditto. Use correct values for size. + 2001-06-05 Egor Duda * security.h (NTWriteEA): Change prototype. diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc index b6408e50e8..cf95ecccec 100644 --- a/winsup/cygwin/fhandler_console.cc +++ b/winsup/cygwin/fhandler_console.cc @@ -624,7 +624,7 @@ fhandler_console::dup (fhandler_base *child) fhc->savebufsiz = savebufsiz; if (savebuf) { - fhc->savebuf = (PCHAR_INFO) malloc (sizeof (CHAR_INFO) * + fhc->savebuf = (PCHAR_INFO) cmalloc (HEAP_1_BUF, sizeof (CHAR_INFO) * savebufsiz.X * savebufsiz.Y); memcpy (fhc->savebuf, savebuf, sizeof (CHAR_INFO) * savebufsiz.X * savebufsiz.Y); @@ -1174,12 +1174,12 @@ fhandler_console::char_command (char c) if (!GetConsoleScreenBufferInfo (get_output_handle (), &now)) break; - savebufsiz.X = now.srWindow.Right - now.srWindow.Left; - savebufsiz.Y = now.srWindow.Bottom - now.srWindow.Top; + savebufsiz.X = now.srWindow.Right - now.srWindow.Left + 1; + savebufsiz.Y = now.srWindow.Bottom - now.srWindow.Top + 1; if (savebuf) - free (savebuf); - savebuf = (PCHAR_INFO) malloc (sizeof (CHAR_INFO) * + cfree (savebuf); + savebuf = (PCHAR_INFO) cmalloc (HEAP_1_BUF, sizeof (CHAR_INFO) * savebufsiz.X * savebufsiz.Y); ReadConsoleOutputA (get_output_handle (), savebuf, @@ -1199,7 +1199,7 @@ fhandler_console::char_command (char c) WriteConsoleOutputA (get_output_handle (), savebuf, savebufsiz, cob, &now.srWindow); - free (savebuf); + cfree (savebuf); savebuf = NULL; savebufsiz.X = savebufsiz.Y = 0; } -- 2.11.0