diff options
author | Simon Rozman <simon@rozman.si> | 2021-07-13 10:20:21 +0200 |
---|---|---|
committer | Simon Rozman <simon@rozman.si> | 2021-07-13 14:33:43 +0200 |
commit | 928f21c5736160651d479b4be37dadc682d89284 (patch) | |
tree | 8b78d530c7d0a61bdd862526fb1912a25cf25a5f | |
parent | driver: cleanup project file (diff) | |
download | wintun-928f21c5736160651d479b4be37dadc682d89284.tar.xz wintun-928f21c5736160651d479b4be37dadc682d89284.zip |
driver: switch to MS-recommended memory alloc
Suggested-by: Static Driver Verifier
Signed-off-by: Simon Rozman <simon@rozman.si>
-rw-r--r-- | driver/driver.vcxproj | 2 | ||||
-rw-r--r-- | driver/wintun.c | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/driver/driver.vcxproj b/driver/driver.vcxproj index 7d9dd73..4f7037b 100644 --- a/driver/driver.vcxproj +++ b/driver/driver.vcxproj @@ -89,7 +89,7 @@ </PropertyGroup> <ItemDefinitionGroup> <ClCompile> - <PreprocessorDefinitions>NDIS_MINIPORT_DRIVER=1;NDIS620_MINIPORT=1;NDIS683_MINIPORT=1;NDIS_WDM=1;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDIS_MINIPORT_DRIVER=1;NDIS620_MINIPORT=1;NDIS683_MINIPORT=1;NDIS_WDM=1;POOL_ZERO_DOWN_LEVEL_SUPPORT;POOL_NX_OPTIN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalOptions>/volatile:iso %(AdditionalOptions)</AdditionalOptions> <EnablePREfast>true</EnablePREfast> </ClCompile> diff --git a/driver/wintun.c b/driver/wintun.c index 0b4bfe1..ae42552 100644 --- a/driver/wintun.c +++ b/driver/wintun.c @@ -988,10 +988,10 @@ TunInitializeEx( /* Leaking memory 'Ctx'. Note: 'Ctx' is freed in TunHaltEx or on failure. */ #pragma warning(suppress : 6014) - TUN_CTX *Ctx = ExAllocatePoolWithTag(NonPagedPoolNx, sizeof(*Ctx), TUN_MEMORY_TAG); +#pragma warning(suppress : 28160) + TUN_CTX *Ctx = ExAllocatePoolZero(NonPagedPool, sizeof(*Ctx), TUN_MEMORY_TAG); if (!Ctx) return NDIS_STATUS_FAILURE; - NdisZeroMemory(Ctx, sizeof(*Ctx)); Ctx->MiniportAdapterHandle = MiniportAdapterHandle; @@ -1420,6 +1420,8 @@ DriverEntry(DRIVER_OBJECT *DriverObject, UNICODE_STRING *RegistryPath) { NTSTATUS Status; + ExInitializeDriverRuntime(DrvRtPoolNxOptIn); + NdisVersion = NdisGetVersion(); if (NdisVersion < NDIS_MINIPORT_VERSION_MIN) return NDIS_STATUS_UNSUPPORTED_REVISION; |