mirror of
https://github.com/reactos/reactos.git
synced 2025-07-27 19:41:40 +00:00
[FASTFAT] Fix size checking in VfatGetFileNameInformation()
This commit is contained in:
parent
9f3c80193e
commit
28343c6c0c
1 changed files with 5 additions and 5 deletions
|
@ -101,17 +101,17 @@ VfatGetFileNameInformation(
|
||||||
*Written = 0;
|
*Written = 0;
|
||||||
Status = STATUS_BUFFER_OVERFLOW;
|
Status = STATUS_BUFFER_OVERFLOW;
|
||||||
|
|
||||||
if (FIELD_OFFSET(FILE_NAMES_INFORMATION, FileName) > BufferLength)
|
if (FIELD_OFFSET(FILE_NAME_INFORMATION, FileName) > BufferLength)
|
||||||
return Status;
|
return Status;
|
||||||
|
|
||||||
if (First || (BufferLength >= FIELD_OFFSET(FILE_NAMES_INFORMATION, FileName) + DirContext->LongNameU.Length))
|
if (First || (BufferLength >= FIELD_OFFSET(FILE_NAME_INFORMATION, FileName) + DirContext->LongNameU.Length))
|
||||||
{
|
{
|
||||||
pInfo->FileNameLength = DirContext->LongNameU.Length;
|
pInfo->FileNameLength = DirContext->LongNameU.Length;
|
||||||
|
|
||||||
*Written = FIELD_OFFSET(FILE_NAMES_INFORMATION, FileName);
|
*Written = FIELD_OFFSET(FILE_NAME_INFORMATION, FileName);
|
||||||
if (BufferLength > FIELD_OFFSET(FILE_NAMES_INFORMATION, FileName))
|
if (BufferLength > FIELD_OFFSET(FILE_NAME_INFORMATION, FileName))
|
||||||
{
|
{
|
||||||
BytesToCopy = min(DirContext->LongNameU.Length, BufferLength - FIELD_OFFSET(FILE_NAMES_INFORMATION, FileName));
|
BytesToCopy = min(DirContext->LongNameU.Length, BufferLength - FIELD_OFFSET(FILE_NAME_INFORMATION, FileName));
|
||||||
RtlCopyMemory(pInfo->FileName,
|
RtlCopyMemory(pInfo->FileName,
|
||||||
DirContext->LongNameU.Buffer,
|
DirContext->LongNameU.Buffer,
|
||||||
BytesToCopy);
|
BytesToCopy);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue