From a96425fe827c603b9c576c95f12b885af68eb219 Mon Sep 17 00:00:00 2001
From: Denis Vlasenko <vda.linux@googlemail.com>
Date: Sun, 9 Dec 2007 04:13:43 +0000
Subject: vi: don't use common_bufsiz as read buffer, it can be too small
 (found by Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>)

---
 editors/vi.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/editors/vi.c b/editors/vi.c
index 345a9452d..9426ab855 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -184,6 +184,7 @@ struct globals {
 #if ENABLE_FEATURE_VI_COLON
 	char *initial_cmds[3];  // currently 2 entries, NULL terminated
 #endif
+	char readbuffer[MAX_LINELEN];
 };
 #define G (*ptr_to_globals)
 #define text           (G.text          )
@@ -200,6 +201,10 @@ struct globals {
 #define term_orig      (G.term_orig     )
 #define term_vi        (G.term_vi       )
 #define initial_cmds   (G.initial_cmds  )
+#define readbuffer     (G.readbuffer    )
+#define INIT_G() do { \
+	PTR_TO_GLOBALS = xzalloc(sizeof(G)); \
+} while (0)
 
 static int init_text_buffer(char *); // init from file or create new
 static void edit_file(char *);	// edit one file
@@ -321,7 +326,7 @@ int vi_main(int argc, char **argv)
 	my_pid = getpid();
 #endif
 
-	PTR_TO_GLOBALS = xzalloc(sizeof(G));
+	INIT_G();
 
 #if ENABLE_FEATURE_VI_CRASHME
 	srand((long) my_pid);
@@ -2142,8 +2147,6 @@ static int mysleep(int hund)	// sleep for 'h' 1/100 seconds
 	return safe_poll(pfd, 1, hund*10) > 0;
 }
 
-#define readbuffer bb_common_bufsiz1
-
 static int readed_for_parse;
 
 //----- IO Routines --------------------------------------------
-- 
cgit v1.2.3