diff options
| author | Dirk Engling <erdgeist@erdgeist.org> | 2021-05-09 00:07:32 +0200 |
|---|---|---|
| committer | Dirk Engling <erdgeist@erdgeist.org> | 2021-05-09 00:07:32 +0200 |
| commit | 3168071175e9b5792a08adeb4784073f2e5df58b (patch) | |
| tree | a4352216f3b49fc9972751499fdfa30f279d9c91 | |
| parent | 99544a10306382c285e1f3166b7dcb8686ef4a2d (diff) | |
Fix two issues when splitting an iovec to large iobatches
| -rw-r--r-- | ot_http.c | 4 |
1 files changed, 2 insertions, 2 deletions
| @@ -168,7 +168,7 @@ ssize_t http_sendiovecdata( const int64 sock, struct ot_workstruct *ws, int iove | |||
| 168 | 168 | ||
| 169 | /* Split huge iovectors into separate io_batches */ | 169 | /* Split huge iovectors into separate io_batches */ |
| 170 | for( i=0; i<iovec_entries; ++i ) { | 170 | for( i=0; i<iovec_entries; ++i ) { |
| 171 | io_batch *current = cookie->batch + cookie->batches; | 171 | io_batch *current = cookie->batch + cookie->batches - 1; |
| 172 | 172 | ||
| 173 | /* If the current batch's limit is reached, try to reallocate a new batch to work on */ | 173 | /* If the current batch's limit is reached, try to reallocate a new batch to work on */ |
| 174 | if( current->bytesleft > OT_BATCH_LIMIT ) { | 174 | if( current->bytesleft > OT_BATCH_LIMIT ) { |
| @@ -180,7 +180,7 @@ ssize_t http_sendiovecdata( const int64 sock, struct ot_workstruct *ws, int iove | |||
| 180 | } | 180 | } |
| 181 | } | 181 | } |
| 182 | 182 | ||
| 183 | iob_addbuf_munmap( current, iovector[i].iov_base, iovector[i].iov_len ); | 183 | iob_addbuf_free( current, iovector[i].iov_base, iovector[i].iov_len ); |
| 184 | } | 184 | } |
| 185 | free( iovector ); | 185 | free( iovector ); |
| 186 | 186 | ||
