aboutsummaryrefslogtreecommitdiffstats
path: root/api/adapter.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2020-11-03 02:24:32 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2020-11-03 10:34:25 +0100
commit19d6227c1de4d19363a5f63d0e26c91a776defbd (patch)
tree422229c923ef0e430ba1af38d65780ddc1c233aa /api/adapter.c
parentapi: refactor .inf parsing and check SystemTimeToFileTime for errors (diff)
downloadwintun-19d6227c1de4d19363a5f63d0e26c91a776defbd.tar.xz
wintun-19d6227c1de4d19363a5f63d0e26c91a776defbd.zip
api: rundll32: repair token spawning semantics
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'api/adapter.c')
-rw-r--r--api/adapter.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/api/adapter.c b/api/adapter.c
index 45ff38f..86eef0f 100644
--- a/api/adapter.c
+++ b/api/adapter.c
@@ -593,8 +593,7 @@ WINTUN_STATUS WINAPI
WintunGetAdapter(_In_z_ const WCHAR *Pool, _In_z_ const WCHAR *Name, _Out_ WINTUN_ADAPTER **Adapter)
{
if (!ElevateToSystem())
- return LOG(WINTUN_LOG_ERR, L"Failed to impersonate SYSTEM user"), ERROR_ACCESS_DENIED;
-
+ return LOG_LAST_ERROR(L"Failed to impersonate SYSTEM user");
DWORD Result;
HANDLE Mutex = NamespaceTakePoolMutex(Pool);
if (!Mutex)
@@ -1681,7 +1680,7 @@ WintunCreateAdapter(
_Out_opt_ BOOL *RebootRequired)
{
if (!ElevateToSystem())
- return LOG(WINTUN_LOG_ERR, L"Failed to impersonate SYSTEM user"), ERROR_ACCESS_DENIED;
+ return LOG_LAST_ERROR(L"Failed to impersonate SYSTEM user");
BOOL DummyRebootRequired;
if (!RebootRequired)
RebootRequired = &DummyRebootRequired;
@@ -1699,7 +1698,7 @@ WINTUN_STATUS WINAPI
WintunDeleteAdapter(_In_ const WINTUN_ADAPTER *Adapter, _In_ BOOL ForceCloseSessions, _Out_opt_ BOOL *RebootRequired)
{
if (!ElevateToSystem())
- return LOG(WINTUN_LOG_ERR, L"Failed to impersonate SYSTEM user"), ERROR_ACCESS_DENIED;
+ return LOG_LAST_ERROR(L"Failed to impersonate SYSTEM user");
BOOL DummyRebootRequired;
if (!RebootRequired)
@@ -1790,7 +1789,7 @@ WINTUN_STATUS WINAPI
WintunDeleteDriver(void)
{
if (!ElevateToSystem())
- return LOG(WINTUN_LOG_ERR, L"Failed to impersonate SYSTEM user"), ERROR_ACCESS_DENIED;
+ return LOG_LAST_ERROR(L"Failed to impersonate SYSTEM user");
DWORD Result = ERROR_SUCCESS;