mirror of
https://github.com/reactos/reactos.git
synced 2026-06-02 09:20:43 +08:00
[NTOS:CC] Don't read past the end of the file in CcPerformReadAhead.
This commit is contained in:
@@ -517,6 +517,16 @@ CcPerformReadAhead(
|
||||
/* Remember it's locked */
|
||||
Locked = TRUE;
|
||||
|
||||
/* Don't read past the end of the file */
|
||||
if (CurrentOffset >= SharedCacheMap->FileSize.QuadPart)
|
||||
{
|
||||
goto Clear;
|
||||
}
|
||||
if (CurrentOffset + Length > SharedCacheMap->FileSize.QuadPart)
|
||||
{
|
||||
Length = SharedCacheMap->FileSize.QuadPart - CurrentOffset;
|
||||
}
|
||||
|
||||
/* Next of the algorithm will lock like CcCopyData with the slight
|
||||
* difference that we don't copy data back to an user-backed buffer
|
||||
* We just bring data into Cc
|
||||
|
||||
Reference in New Issue
Block a user