From 993425ee98cb58a64b6a156b00a3fc6790c0e9cb Mon Sep 17 00:00:00 2001 From: Thomas Quinot Date: Thu, 5 Apr 2007 20:31:23 +0000 Subject: [PATCH] (bread): For a read that is contained entirely within a block, never copy out more than size bytes to the caller's buffer. PR: bin/111191 Reviewed by: pb MFC after: 1 week --- sbin/dump/traverse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/dump/traverse.c b/sbin/dump/traverse.c index d3415b70b4e0..211cfa6370b9 100644 --- a/sbin/dump/traverse.c +++ b/sbin/dump/traverse.c @@ -925,7 +925,7 @@ bread(ufs2_daddr_t blkno, char *buf, int size) cnt = cread(diskfd, tmpbuf, secsize, offset - base); if (cnt != secsize) goto bad; - xfer = secsize - base; + xfer = MIN(secsize - base, size); offset += xfer; bytes -= xfer; resid = bytes % secsize;