From bf10f672ecc473547b44f98c5fda0754adf4b1b6 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 11 Aug 2013 08:34:34 +0200 Subject: vt: fix off by one memory corruption account for the final 0 byte in host_buf. --- sys/src/cmd/vt/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sys/src/cmd/vt/main.c') diff --git a/sys/src/cmd/vt/main.c b/sys/src/cmd/vt/main.c index 739a1c422..04ad43f31 100644 --- a/sys/src/cmd/vt/main.c +++ b/sys/src/cmd/vt/main.c @@ -183,7 +183,7 @@ initialize(int argc, char **argv) break; }ARGEND; - host_buf = malloc(host_bsize); + host_buf = mallocz(host_bsize, 1); hostp = host_buf; hostlength = 0; @@ -808,8 +808,8 @@ void set_host(Event *e) { hostlength = e->n; - if(hostlength > host_bsize) { - host_bsize *= 2; + if(hostlength >= host_bsize) { + host_bsize = BSIZE*((hostlength + BSIZE)/BSIZE); host_buf = realloc(host_buf,host_bsize); } hostp = host_buf; -- cgit v1.2.3