]> sourceware.org Git - lvm2.git/commitdiff
Avoid sending garbage to terminal in verbose mode.
authorZdenek Kabelac <zkabelac@redhat.com>
Sat, 24 Sep 2011 21:12:35 +0000 (21:12 +0000)
committerZdenek Kabelac <zkabelac@redhat.com>
Sat, 24 Sep 2011 21:12:35 +0000 (21:12 +0000)
When read in drain returned <0 value, terminal content has been trashed.
Remove unneeded  memset() and use whole buffer.
Free  readbuf before exit (valgrind).

test/lib/harness.c

index 5d6d3b5a2a588ce8831141dcfdddffcb2cdd846d..31f451a60b750d3ca4cead73b2381b8417b622f8 100644 (file)
@@ -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;
 }
This page took 0.031942 seconds and 5 git commands to generate.