diff options
author | thomas <thomas@FreeBSD.org> | 2007-04-05 20:31:23 +0000 |
---|---|---|
committer | thomas <thomas@FreeBSD.org> | 2007-04-05 20:31:23 +0000 |
commit | d14b5b9d82f44a118409fe45ed33b9abf6b11dd4 (patch) | |
tree | c63783c533a6d8437aa674e37c12d4404717b03a | |
parent | c5adbc966f595241bb92c96b5510cd4aaee1772b (diff) | |
download | FreeBSD-src-d14b5b9d82f44a118409fe45ed33b9abf6b11dd4.zip FreeBSD-src-d14b5b9d82f44a118409fe45ed33b9abf6b11dd4.tar.gz |
(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
-rw-r--r-- | sbin/dump/traverse.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sbin/dump/traverse.c b/sbin/dump/traverse.c index d3415b7..211cfa6 100644 --- a/sbin/dump/traverse.c +++ b/sbin/dump/traverse.c @@ -925,7 +925,7 @@ loop: 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; |