diff --git a/README.md b/README.md index a39fff4..7b06464 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,8 @@ msbuild wintun.proj [/t:] - `SDV`: Runs Static Driver Verifier, which includes a clean driver build, only for AMD64 release configuration. + - `SDVView`: Views the results of the Static Driver Verifier. + - `DVL`: Runs the `SDV`, and creates a Driver Verification Log, only for AMD64 release configurations. - `MSM`: Builds Microsoft Installer Merge Modules in `\wintun--.msm`. Requires WHQL signed driver. diff --git a/wintun.c b/wintun.c index fae78bc..0dbd1dd 100644 --- a/wintun.c +++ b/wintun.c @@ -930,6 +930,8 @@ TunInitializeEx( Ctx->MiniportAdapterHandle = MiniportAdapterHandle; NdisMGetDeviceProperty(MiniportAdapterHandle, NULL, &Ctx->FunctionalDeviceObject, NULL, NULL, NULL); + if (Status = NDIS_STATUS_FAILURE, !Ctx->FunctionalDeviceObject) + goto cleanupFreeCtx; /* Reverse engineering indicates that we'd be better off calling * NdisWdfGetAdapterContextFromAdapterHandle(functional_device), * which points to our TUN_CTX object directly, but this isn't diff --git a/wintun.proj b/wintun.proj index 1370702..d5674e2 100644 --- a/wintun.proj +++ b/wintun.proj @@ -69,7 +69,7 @@ - +