aboutsummaryrefslogtreecommitdiffstats
path: root/api/adapter.c
diff options
context:
space:
mode:
authorSimon Rozman <simon@rozman.si>2020-10-30 06:06:06 +0100
committerSimon Rozman <simon@rozman.si>2020-10-31 10:41:47 +0100
commitf389fd5629068083807b43727c823f51b6aebc9d (patch)
tree36f4d1189705ed14585e5cbba47a13bbf95a3f81 /api/adapter.c
parentapi: fix zero-parameter C function prototypes (diff)
downloadwintun-f389fd5629068083807b43727c823f51b6aebc9d.tar.xz
wintun-f389fd5629068083807b43727c823f51b6aebc9d.zip
api: use C locale for adapter and pool name case-insensitive comparing
Reported-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Simon Rozman <simon@rozman.si>
Diffstat (limited to 'api/adapter.c')
-rw-r--r--api/adapter.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/api/adapter.c b/api/adapter.c
index e229249..a51d437 100644
--- a/api/adapter.c
+++ b/api/adapter.c
@@ -21,7 +21,6 @@
# error Unsupported architecture
#endif
-static _locale_t Locale;
static USHORT NativeMachine = IMAGE_FILE_PROCESS;
WINTUN_STATUS
@@ -330,8 +329,6 @@ AdapterDeleteAllOurs(void)
void
AdapterInit(void)
{
- Locale = _wcreate_locale(LC_ALL, L"");
-
#if defined(_M_IX86) || defined(_M_ARM)
typedef BOOL(WINAPI * IsWow64Process2_t)(
_In_ HANDLE hProcess, _Out_ USHORT * pProcessMachine, _Out_opt_ USHORT * pNativeMachine);
@@ -349,12 +346,6 @@ AdapterInit(void)
#endif
}
-void
-AdapterCleanup(void)
-{
- _free_locale(Locale);
-}
-
static BOOL
CheckReboot(_In_ HDEVINFO DevInfo, _In_ SP_DEVINFO_DATA *DevInfoData)
{
@@ -481,14 +472,14 @@ IsPoolMember(
}
WCHAR PoolDeviceTypeName[MAX_POOL_DEVICE_TYPE];
GetPoolDeviceTypeName(Pool, PoolDeviceTypeName);
- if (!_wcsicmp_l(FriendlyName, PoolDeviceTypeName, Locale) || !_wcsicmp_l(DeviceDesc, PoolDeviceTypeName, Locale))
+ if (!_wcsicmp(FriendlyName, PoolDeviceTypeName) || !_wcsicmp(DeviceDesc, PoolDeviceTypeName))
{
*IsMember = TRUE;
goto cleanupFriendlyName;
}
RemoveNumberedSuffix(FriendlyName, FriendlyName);
RemoveNumberedSuffix(DeviceDesc, DeviceDesc);
- if (!_wcsicmp_l(FriendlyName, PoolDeviceTypeName, Locale) || !_wcsicmp_l(DeviceDesc, PoolDeviceTypeName, Locale))
+ if (!_wcsicmp(FriendlyName, PoolDeviceTypeName) || !_wcsicmp(DeviceDesc, PoolDeviceTypeName))
{
*IsMember = TRUE;
goto cleanupFriendlyName;
@@ -630,10 +621,10 @@ WintunGetAdapter(
if (NciGetConnectionName(&CfgInstanceID, Name2, sizeof(Name2), NULL) != ERROR_SUCCESS)
continue;
Name2[_countof(Name2) - 1] = 0;
- if (_wcsicmp_l(Name, Name2, Locale))
+ if (_wcsicmp(Name, Name2))
{
RemoveNumberedSuffix(Name2, Name2);
- if (_wcsicmp_l(Name, Name2, Locale))
+ if (_wcsicmp(Name, Name2))
continue;
}