iovec: make sure the caller actually wants anything in memcpy_fromiovecend

Based on upstream change 06ebb06d49486676272a3c030bfeef4bd969a8e6

One more instance when the caller requests 0 bytes instead of running
off and dereferencing potentially invalid iovecs.

Signed-off-by: Paul Lawrence <paullawrence@google.com>
Bug: 36279469
Change-Id: Ib8d529e17c07c77357ab70bd6a2d7e305d6b27f0
This commit is contained in:
Paul Lawrence 2017-10-18 09:20:15 -07:00 committed by syphyr
parent 99e295d290
commit c6e3d640ed
1 changed files with 4 additions and 0 deletions

View File

@ -147,6 +147,10 @@ int csum_partial_copy_fromiovecend(unsigned char *kdata, struct iovec *iov,
__wsum csum = *csump;
int partial_cnt = 0, err = 0;
/* No data? Done! */
if (len == 0)
return 0;
/* Skip over the finished iovecs */
while (offset >= iov->iov_len) {
offset -= iov->iov_len;