From 4c9754b269a92bef8c1a05334eed67bab7afe0d7 Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Fri, 28 May 2021 21:19:47 +0530 Subject: [PATCH] Read from QuadPart from LARGE_INTEGER variables. --- channels/rdpdr/server/rdpdr_main.c | 20 ++++++++++---------- include/freerdp/server/rdpdr.h | 12 ++++++------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/channels/rdpdr/server/rdpdr_main.c b/channels/rdpdr/server/rdpdr_main.c index 3e005da0f..cfc85b5ec 100644 --- a/channels/rdpdr/server/rdpdr_main.c +++ b/channels/rdpdr/server/rdpdr_main.c @@ -1329,16 +1329,16 @@ static UINT rdpdr_server_read_file_directory_information(wStream* s, return ERROR_INVALID_DATA; } - Stream_Read_UINT32(s, fdi->NextEntryOffset); /* NextEntryOffset (4 bytes) */ - Stream_Read_UINT32(s, fdi->FileIndex); /* FileIndex (4 bytes) */ - Stream_Read_UINT64(s, fdi->CreationTime); /* CreationTime (8 bytes) */ - Stream_Read_UINT64(s, fdi->LastAccessTime); /* LastAccessTime (8 bytes) */ - Stream_Read_UINT64(s, fdi->LastWriteTime); /* LastWriteTime (8 bytes) */ - Stream_Read_UINT64(s, fdi->ChangeTime); /* ChangeTime (8 bytes) */ - Stream_Read_UINT64(s, fdi->EndOfFile); /* EndOfFile (8 bytes) */ - Stream_Read_UINT64(s, fdi->AllocationSize); /* AllocationSize (8 bytes) */ - Stream_Read_UINT32(s, fdi->FileAttributes); /* FileAttributes (4 bytes) */ - Stream_Read_UINT32(s, fileNameLength); /* FileNameLength (4 bytes) */ + Stream_Read_UINT32(s, fdi->NextEntryOffset); /* NextEntryOffset (4 bytes) */ + Stream_Read_UINT32(s, fdi->FileIndex); /* FileIndex (4 bytes) */ + Stream_Read_UINT64(s, fdi->CreationTime.QuadPart); /* CreationTime (8 bytes) */ + Stream_Read_UINT64(s, fdi->LastAccessTime.QuadPart); /* LastAccessTime (8 bytes) */ + Stream_Read_UINT64(s, fdi->LastWriteTime.QuadPart); /* LastWriteTime (8 bytes) */ + Stream_Read_UINT64(s, fdi->ChangeTime.QuadPart); /* ChangeTime (8 bytes) */ + Stream_Read_UINT64(s, fdi->EndOfFile.QuadPart); /* EndOfFile (8 bytes) */ + Stream_Read_UINT64(s, fdi->AllocationSize.QuadPart); /* AllocationSize (8 bytes) */ + Stream_Read_UINT32(s, fdi->FileAttributes); /* FileAttributes (4 bytes) */ + Stream_Read_UINT32(s, fileNameLength); /* FileNameLength (4 bytes) */ if (Stream_GetRemainingLength(s) < fileNameLength) { diff --git a/include/freerdp/server/rdpdr.h b/include/freerdp/server/rdpdr.h index 72ed0ab2f..ac1949b96 100644 --- a/include/freerdp/server/rdpdr.h +++ b/include/freerdp/server/rdpdr.h @@ -40,12 +40,12 @@ struct _FILE_DIRECTORY_INFORMATION { UINT32 NextEntryOffset; UINT32 FileIndex; - UINT64 CreationTime; - UINT64 LastAccessTime; - UINT64 LastWriteTime; - UINT64 ChangeTime; - UINT64 EndOfFile; - UINT64 AllocationSize; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; UINT32 FileAttributes; char FileName[512]; };