[PATCH] (resend) blktrace: incorrect pointer passed to realloc.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

When blktrace is writing to stdout, and there's sufficient disk activity
to fill the trace buffer, tb_combine() tries to increase the buffer
size.  But the pointer it passes to realloc isn't to the head of the
block of memory.  glibc's realloc gets really quite upset at this, and
aborts the process.

This just passes in the pointer handed out by malloc.

Signed-off-by: Matt Boyle <mlb@xxxxxxxxxxxxxxxx>
  blktrace.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/blktrace.c b/blktrace.c
index 72866e2..d4d5111 100644
--- a/blktrace.c
+++ b/blktrace.c
@@ -1330,7 +1330,7 @@ static struct trace_buf *tb_combine(struct trace_buf *prev,
 		 * the whole structures, as the other fields
 		 * are "static".
-		prev = realloc(prev->buf, sizeof(*prev) + tot_len);
+		prev = realloc(prev, sizeof(*prev) + tot_len);
 		prev->buf = (void *)(prev + 1);

[Netdev]     [Linux Wireless]     [Kernel Newbies]     [Memory]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Photo]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]     [Linux Resources]

Add to Google