Page MenuHomeFreeBSD

D55438.diff
No OneTemporary

D55438.diff

diff --git a/usr.sbin/bhyve/iov.c b/usr.sbin/bhyve/iov.c
--- a/usr.sbin/bhyve/iov.c
+++ b/usr.sbin/bhyve/iov.c
@@ -81,19 +81,14 @@
void
truncate_iov(struct iovec *iov, int *niov, size_t length)
{
- size_t done = 0;
int i;
- for (i = 0; i < *niov; i++) {
- size_t toseek = MIN(length - done, iov[i].iov_len);
- done += toseek;
-
- if (toseek <= iov[i].iov_len) {
- iov[i].iov_len = toseek;
- *niov = i + 1;
- return;
- }
+ for (i = 0; i < *niov && length > 0; i++) {
+ if (length < iov[i].iov_len)
+ iov[i].iov_len = length;
+ length -= iov[i].iov_len;
}
+ *niov = i;
}
ssize_t

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 24, 9:53 PM (13 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28966351
Default Alt Text
D55438.diff (605 B)

Event Timeline