Skip to content

Commit

Permalink
Merge branch 'master' into fix-miniinfo-crash
Browse files Browse the repository at this point in the history
  • Loading branch information
jxy-s authored Jan 3, 2025
2 parents 1b0b472 + cc55dbc commit 8400ed5
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 12 deletions.
10 changes: 6 additions & 4 deletions phlib/mapimg.c
Original file line number Diff line number Diff line change
Expand Up @@ -1360,18 +1360,19 @@ NTSTATUS PhGetRemoteMappedImageGuardFlagsEx(
if (RemoteMappedImage->Magic == IMAGE_NT_OPTIONAL_HDR32_MAGIC)
{
PIMAGE_LOAD_CONFIG_DIRECTORY32 config32 = NULL;
ULONG config32Length = 0;

status = PhGetRemoteMappedImageDirectoryEntry(
RemoteMappedImage,
ReadVirtualMemoryCallback,
IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG,
&config32,
NULL
&config32Length
);

if (NT_SUCCESS(status))
{
if (RTL_CONTAINS_FIELD(config32, config32->Size, GuardFlags))
if (RTL_CONTAINS_FIELD(config32, min(config32->Size, config32Length), GuardFlags))
{
guardFlags = config32->GuardFlags;
}
Expand All @@ -1386,18 +1387,19 @@ NTSTATUS PhGetRemoteMappedImageGuardFlagsEx(
else
{
PIMAGE_LOAD_CONFIG_DIRECTORY64 config64 = NULL;
ULONG config64Length = 0;

status = PhGetRemoteMappedImageDirectoryEntry(
RemoteMappedImage,
ReadVirtualMemoryCallback,
IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG,
&config64,
NULL
&config64Length
);

if (NT_SUCCESS(status))
{
if (RTL_CONTAINS_FIELD(config64, config64->Size, GuardFlags))
if (RTL_CONTAINS_FIELD(config64, min(config64->Size, config64Length), GuardFlags))
{
guardFlags = config64->GuardFlags;
}
Expand Down
2 changes: 1 addition & 1 deletion phnt/include/ntbcd.h
Original file line number Diff line number Diff line change
Expand Up @@ -571,7 +571,7 @@ NTSTATUS
NTAPI
BcdCopyObjects(
_In_ HANDLE BcdStoreHandle,
_In_ BCD_OBJECT_DESCRIPTION Characteristics,
_In_ PBCD_OBJECT_DESCRIPTION Characteristics,
_In_ BCD_COPY_FLAGS BcdCopyFlags,
_In_ HANDLE TargetStoreHandle
);
Expand Down
4 changes: 2 additions & 2 deletions phnt/include/ntmmapi.h
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ typedef struct _MEMORY_WORKING_SET_BLOCK
typedef struct _MEMORY_WORKING_SET_INFORMATION
{
ULONG_PTR NumberOfEntries;
_Field_size_(NumberOfEntries) MEMORY_WORKING_SET_BLOCK WorkingSetInfo[1];
_Field_size_(NumberOfEntries) MEMORY_WORKING_SET_BLOCK WorkingSetInfo[ANYSIZE_ARRAY];
} MEMORY_WORKING_SET_INFORMATION, *PMEMORY_WORKING_SET_INFORMATION;

// private
Expand Down Expand Up @@ -271,7 +271,7 @@ typedef union _MEMORY_WORKING_SET_EX_BLOCK
#endif
} Invalid;
};
} MEMORY_WORKING_SET_EX_BLOCK, * PMEMORY_WORKING_SET_EX_BLOCK;
} MEMORY_WORKING_SET_EX_BLOCK, *PMEMORY_WORKING_SET_EX_BLOCK;

/**
* The MEMORY_WORKING_SET_EX_INFORMATION structure contains extended working set information for a process.
Expand Down
2 changes: 1 addition & 1 deletion phnt/include/ntpebteb.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ typedef struct _WER_MEMORY
typedef struct _WER_GATHER
{
PVOID Next;
USHORT Flags;
USHORT Flags;
union
{
WER_FILE File;
Expand Down
2 changes: 1 addition & 1 deletion phnt/include/ntrtl.h
Original file line number Diff line number Diff line change
Expand Up @@ -10208,7 +10208,7 @@ NTSTATUS
NTAPI
RtlProcessFlsData(
_In_ HANDLE ProcessHandle,
_Out_ PPVOID FlsData
_Out_ PVOID* FlsData
);
#endif

Expand Down
4 changes: 2 additions & 2 deletions phnt/include/winsta.h
Original file line number Diff line number Diff line change
Expand Up @@ -1251,7 +1251,7 @@ WinStationQuerySessionVirtualIP(
_In_ ADDRESS_FAMILY Family,
_Out_ TS_SESSION_VIRTUAL_ADDRESS* SessionVirtualIP
);

// rev
NTSYSAPI
BOOLEAN
Expand All @@ -1262,7 +1262,7 @@ WinStationGetDeviceId(
_Out_ PCHAR* Buffer, // CHAR DeviceId[MAX_PATH + 1];
_In_ SIZE_T BufferLength
);

// rev
NTSYSAPI
BOOLEAN
Expand Down
2 changes: 1 addition & 1 deletion plugins/ExtendedTools/objprp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1438,7 +1438,7 @@ VOID EtpEnumObjectHandles(
}
}

if (handleInfo->Object == Context->HandleItem->Object || objectNameMatched)
if ((handleInfo->Object && handleInfo->Object == Context->HandleItem->Object) || objectNameMatched)
{
if (useWorkQueue) PhAcquireQueuedLockExclusive(&searchResultsLock);
PhAddItemList(searchResults, handleInfo);
Expand Down

0 comments on commit 8400ed5

Please sign in to comment.