From: Zdenek Kabelac Date: Sat, 24 Sep 2011 21:12:35 +0000 (+0000) Subject: Avoid sending garbage to terminal in verbose mode. X-Git-Tag: v2_02_91~492 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=d040c17000ace96ccf2b068154487b3471daa746;p=lvm2.git Avoid sending garbage to terminal in verbose mode. When read in drain returned <0 value, terminal content has been trashed. Remove unneeded memset() and use whole buffer. Free readbuf before exit (valgrind). --- diff --git a/test/lib/harness.c b/test/lib/harness.c index 5d6d3b5a2..31f451a60 100644 --- a/test/lib/harness.c +++ b/test/lib/harness.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Red Hat, Inc. All rights reserved. + * Copyright (C) 2010-2011 Red Hat, Inc. All rights reserved. * * This file is part of LVM2. * @@ -126,14 +126,13 @@ static void clear(void) { static void drain(void) { int sz; char buf[2048]; - memset(buf, 0, 2048); while (1) { - sz = read(fds[1], buf, 2047); - if (verbose) - write(1, buf, sz); + sz = read(fds[1], buf, sizeof(buf)); if (sz <= 0) return; + if (verbose) + write(1, buf, sz); if (readbuf_used + sz >= readbuf_sz) { readbuf_sz = readbuf_sz ? 2 * readbuf_sz : 4096; readbuf = realloc(readbuf, readbuf_sz); @@ -291,5 +290,7 @@ int main(int argc, char **argv) { return s.nfailed > 0 || die; } + free(readbuf); + return die; }