IORequest::Advance() would access the vec array out of bounds after
advancing to the end of the request. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26699 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
97d52f8e2a
commit
b627c47932
@ -850,7 +850,9 @@ IORequest::Advance(size_t bySize)
|
||||
fTransferSize += bySize;
|
||||
|
||||
iovec* vecs = fBuffer->Vecs();
|
||||
while (vecs[fVecIndex].iov_len - fVecOffset <= bySize) {
|
||||
uint32 vecCount = fBuffer->VecCount();
|
||||
while (fVecIndex < vecCount
|
||||
&& vecs[fVecIndex].iov_len - fVecOffset <= bySize) {
|
||||
bySize -= vecs[fVecIndex].iov_len - fVecOffset;
|
||||
fVecOffset = 0;
|
||||
fVecIndex++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user