diff options
Diffstat (limited to 'libglusterfs/src/common-utils.h')
| -rw-r--r-- | libglusterfs/src/common-utils.h | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h index 8093f33d5de..fa097dd6aaa 100644 --- a/libglusterfs/src/common-utils.h +++ b/libglusterfs/src/common-utils.h @@ -416,10 +416,12 @@ iov_subset (struct iovec *orig, int orig_count,  	int    i;  	off_t  offset = 0;  	size_t start_offset = 0; -	size_t end_offset = 0; +	size_t end_offset = 0, origin_iov_len = 0;  	for (i = 0; i < orig_count; i++) { +                origin_iov_len = orig[i].iov_len; +  		if ((offset + orig[i].iov_len < src_offset)  		    || (offset > dst_offset)) {  			goto not_subset; @@ -447,7 +449,7 @@ iov_subset (struct iovec *orig, int orig_count,  		new_count++;  	not_subset: -		offset += orig[i].iov_len; +		offset += origin_iov_len;  	}  	return new_count;  | 
