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;