use nt-rtl names

This commit is contained in:
henrypp committed 2019-11-07 17:32:50 +06:00
1 parent 15ef9af13d
commit 80e6ea0ccc
5 files changed
+78 -92

No files matched your search

+20 -21
View File
@@ -590,7 +590,8 @@ PR_OBJECT _app_getversioninfo (size_t app_hash, PITEM_APP ptr_app)
if (VerQueryValue (versionInfo, L"\\VarFileInfo\\Translation", &retbuf, &vLen) && vLen == 4)
{
CopyMemory (&langD, retbuf, vLen);
RtlCopyMemory (&langD, retbuf, vLen);
_r_str_printf (author_entry, _countof (author_entry), L"\\StringFileInfo\\%02X%02X%02X%02X\\CompanyName", (langD & 0xff00) >> 8, langD & 0xff, (langD & 0xff000000) >> 24, (langD & 0xff0000) >> 16);
_r_str_printf (description_entry, _countof (description_entry), L"\\StringFileInfo\\%02X%02X%02X%02X\\FileDescription", (langD & 0xff00) >> 8, langD & 0xff, (langD & 0xff000000) >> 24, (langD & 0xff0000) >> 16);
}
@@ -1449,7 +1450,7 @@ rstring _app_getservicenamefromtag (HANDLE pid, PVOID ptag)
if (_I_QueryTagInformation)
{
SC_SERVICE_TAG_QUERY nameFromTag;
SecureZeroMemory (&nameFromTag, sizeof (nameFromTag));
RtlSecureZeroMemory (&nameFromTag, sizeof (nameFromTag));
nameFromTag.ProcessId = HandleToUlong (pid);
nameFromTag.ServiceTag = PtrToUlong (ptag);
@@ -1615,7 +1616,7 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map)
}
PITEM_NETWORK ptr_network = new ITEM_NETWORK;
SecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK));
RtlSecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK));
const rstring path = _app_getnetworkpath (tcp4Table->table[i].dwOwningPid, tcp4Table->table[i].OwningModuleInfo, &ptr_network->icon_id, &ptr_network->app_hash);
@@ -1669,7 +1670,7 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map)
}
PITEM_NETWORK ptr_network = new ITEM_NETWORK;
SecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK));
RtlSecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK));
const rstring path = _app_getnetworkpath (tcp6Table->table[i].dwOwningPid, tcp6Table->table[i].OwningModuleInfo, &ptr_network->icon_id, &ptr_network->app_hash);
@@ -1678,10 +1679,10 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map)
ptr_network->af = AF_INET6;
ptr_network->protocol = IPPROTO_TCP;
CopyMemory (ptr_network->remote_addr6.u.Byte, tcp6Table->table[i].ucRemoteAddr, FWP_V6_ADDR_SIZE);
RtlCopyMemory (ptr_network->remote_addr6.u.Byte, tcp6Table->table[i].ucRemoteAddr, FWP_V6_ADDR_SIZE);
ptr_network->remote_port = _byteswap_ushort ((USHORT)tcp6Table->table[i].dwRemotePort);
CopyMemory (ptr_network->local_addr6.u.Byte, tcp6Table->table[i].ucLocalAddr, FWP_V6_ADDR_SIZE);
RtlCopyMemory (ptr_network->local_addr6.u.Byte, tcp6Table->table[i].ucLocalAddr, FWP_V6_ADDR_SIZE);
ptr_network->local_port = _byteswap_ushort ((USHORT)tcp6Table->table[i].dwLocalPort);
ptr_network->state = tcp6Table->table[i].dwState;
@@ -1726,7 +1727,7 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map)
}
PITEM_NETWORK ptr_network = new ITEM_NETWORK;
SecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK));
RtlSecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK));
const rstring path = _app_getnetworkpath (udp4Table->table[i].dwOwningPid, udp4Table->table[i].OwningModuleInfo, &ptr_network->icon_id, &ptr_network->app_hash);
@@ -1773,7 +1774,7 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map)
}
PITEM_NETWORK ptr_network = new ITEM_NETWORK;
SecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK));
RtlSecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK));
const rstring path = _app_getnetworkpath (udp6Table->table[i].dwOwningPid, udp6Table->table[i].OwningModuleInfo, &ptr_network->icon_id, &ptr_network->app_hash);
@@ -1782,7 +1783,7 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map)
ptr_network->af = AF_INET6;
ptr_network->protocol = IPPROTO_UDP;
CopyMemory (ptr_network->local_addr6.u.Byte, udp6Table->table[i].ucLocalAddr, FWP_V6_ADDR_SIZE);
RtlCopyMemory (ptr_network->local_addr6.u.Byte, udp6Table->table[i].ucLocalAddr, FWP_V6_ADDR_SIZE);
ptr_network->local_port = _byteswap_ushort ((USHORT)udp6Table->table[i].dwLocalPort);
ptr_network->state = 0;
@@ -1881,8 +1882,7 @@ void _app_generate_packages ()
}
PITEM_APP_HELPER ptr_item = new ITEM_APP_HELPER;
SecureZeroMemory (ptr_item, sizeof (ITEM_APP_HELPER));
RtlSecureZeroMemory (ptr_item, sizeof (ITEM_APP_HELPER));
ptr_item->type = DataAppUWP;
@@ -2051,8 +2051,7 @@ void _app_generate_services ()
if (serviceSid && !sidstring.IsEmpty ())
{
PITEM_APP_HELPER ptr_item = new ITEM_APP_HELPER;
SecureZeroMemory (ptr_item, sizeof (ITEM_APP_HELPER));
RtlSecureZeroMemory (ptr_item, sizeof (ITEM_APP_HELPER));
ptr_item->type = DataAppService;
ptr_item->timestamp = timestamp;
@@ -2088,7 +2087,7 @@ void _app_generate_services ()
void _app_generate_rulesmenu (HMENU hsubmenu, size_t app_hash)
{
ITEM_COUNT stat = {0};
SecureZeroMemory (&stat, sizeof (stat));
RtlSecureZeroMemory (&stat, sizeof (stat));
_app_getcount (&stat);
@@ -2348,7 +2347,7 @@ void _app_listviewsort (HWND hwnd, INT listview_id, INT column_id, bool is_notif
void _app_refreshstatus (HWND hwnd, INT listview_id)
{
ITEM_COUNT stat = {0};
SecureZeroMemory (&stat, sizeof (stat));
RtlSecureZeroMemory (&stat, sizeof (stat));
_app_getcount (&stat);
@@ -2616,7 +2615,7 @@ rstring _app_parsehostaddress_wsa (LPCWSTR hostname, USHORT port)
bool _app_parsenetworkstring (LPCWSTR network_string, NET_ADDRESS_FORMAT * format_ptr, USHORT * port_ptr, FWP_V4_ADDR_AND_MASK * paddr4, FWP_V6_ADDR_AND_MASK * paddr6, LPWSTR paddr_dns, size_t dns_length)
{
NET_ADDRESS_INFO ni;
SecureZeroMemory (&ni, sizeof (ni));
RtlSecureZeroMemory (&ni, sizeof (ni));
USHORT port = 0;
BYTE prefix_length = 0;
@@ -2654,7 +2653,7 @@ bool _app_parsenetworkstring (LPCWSTR network_string, NET_ADDRESS_FORMAT * forma
{
if (paddr6)
{
CopyMemory (paddr6->addr, ni.Ipv6Address.sin6_addr.u.Byte, FWP_V6_ADDR_SIZE);
RtlCopyMemory (paddr6->addr, ni.Ipv6Address.sin6_addr.u.Byte, FWP_V6_ADDR_SIZE);
paddr6->prefixLength = min (prefix_length, 128);
}
@@ -2851,7 +2850,7 @@ bool _app_parserulestring (rstring rule, PITEM_ADDRESS ptr_addr)
if (ptr_addr->prange)
{
ptr_addr->prange->valueLow.type = FWP_BYTE_ARRAY16_TYPE;
CopyMemory (ptr_addr->prange->valueLow.byteArray16->byteArray16, addr6.addr, FWP_V6_ADDR_SIZE);
RtlCopyMemory (ptr_addr->prange->valueLow.byteArray16->byteArray16, addr6.addr, FWP_V6_ADDR_SIZE);
}
}
else
@@ -2883,7 +2882,7 @@ bool _app_parserulestring (rstring rule, PITEM_ADDRESS ptr_addr)
if (ptr_addr->prange)
{
ptr_addr->prange->valueHigh.type = FWP_BYTE_ARRAY16_TYPE;
CopyMemory (ptr_addr->prange->valueHigh.byteArray16->byteArray16, addr6.addr, FWP_V6_ADDR_SIZE);
RtlCopyMemory (ptr_addr->prange->valueHigh.byteArray16->byteArray16, addr6.addr, FWP_V6_ADDR_SIZE);
}
}
else
@@ -2917,7 +2916,7 @@ bool _app_parserulestring (rstring rule, PITEM_ADDRESS ptr_addr)
if (ptr_addr->paddr6)
{
ptr_addr->paddr6->prefixLength = addr6.prefixLength;
CopyMemory (ptr_addr->paddr6->addr, addr6.addr, FWP_V6_ADDR_SIZE);
RtlCopyMemory (ptr_addr->paddr6->addr, addr6.addr, FWP_V6_ADDR_SIZE);
}
}
else if (format == NET_ADDRESS_DNS_NAME)
@@ -3211,7 +3210,7 @@ HBITMAP _app_bitmapfrompng (HINSTANCE hinst, LPCWSTR name, INT icon_size)
goto DoExit;
// Check if the image format is supported:
if (memcmp (&pixelFormat, &GUID_WICPixelFormat32bppPRGBA, sizeof (GUID)) == 0)
if (RtlEqualMemory (&pixelFormat, &GUID_WICPixelFormat32bppPRGBA, sizeof (GUID)))
{
wicBitmapSource = (IWICBitmapSource*)wicFrame;
}
+9 -10
View File
@@ -266,11 +266,11 @@ bool _wfp_logsubscribe (HANDLE hengine)
FWPM_NET_EVENT_SUBSCRIPTION subscription;
FWPM_NET_EVENT_ENUM_TEMPLATE enum_template;
SecureZeroMemory (&subscription, sizeof (subscription));
SecureZeroMemory (&enum_template, sizeof (enum_template));
RtlSecureZeroMemory (&subscription, sizeof (subscription));
RtlSecureZeroMemory (&enum_template, sizeof (enum_template));
if (config.psession)
CopyMemory (&subscription.sessionKey, config.psession, sizeof (GUID));
RtlCopyMemory (&subscription.sessionKey, config.psession, sizeof (GUID));
enum_template.numFilterConditions = 0; // get events for all conditions
@@ -368,12 +368,12 @@ void CALLBACK _wfp_logcallback (UINT32 flags, FILETIME const *pft, UINT8 const*a
if (FwpmLayerGetById (hengine, layer_id, &layer) == ERROR_SUCCESS && layer)
{
if (memcmp (&layer->layerKey, &FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4, sizeof (GUID)) == 0 || memcmp (&layer->layerKey, &FWPM_LAYER_ALE_FLOW_ESTABLISHED_V6, sizeof (GUID)) == 0)
if (RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4, sizeof (GUID)) || RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_FLOW_ESTABLISHED_V6, sizeof (GUID)))
{
FwpmFreeMemory ((void **)&layer);
return;
}
//else if (memcmp (&layer->layerKey, &FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4, sizeof (GUID)) == 0 || memcmp (&layer->layerKey, &FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6, sizeof (GUID)) == 0)
//else if (RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4, sizeof (GUID)) || RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6, sizeof (GUID)))
//{
// direction = FWP_DIRECTION_INBOUND;
//}
@@ -403,7 +403,7 @@ void CALLBACK _wfp_logcallback (UINT32 flags, FILETIME const *pft, UINT8 const*a
if (ptr_filter->providerKey)
{
if (memcmp (ptr_filter->providerKey, &GUID_WfpProvider, sizeof (GUID)) == 0)
if (RtlEqualMemory (ptr_filter->providerKey, &GUID_WfpProvider, sizeof (GUID)))
is_myprovider = true;
if (FwpmProviderGetByKey (hengine, ptr_filter->providerKey, &ptr_provider) == ERROR_SUCCESS && ptr_provider)
@@ -427,8 +427,7 @@ void CALLBACK _wfp_logcallback (UINT32 flags, FILETIME const *pft, UINT8 const*a
if (ptr_entry)
{
PITEM_LOG ptr_log = new ITEM_LOG;
SecureZeroMemory (ptr_log, sizeof (ITEM_LOG));
RtlSecureZeroMemory (ptr_log, sizeof (ITEM_LOG));
// get package id (win8+)
rstring sidstring;
@@ -524,11 +523,11 @@ void CALLBACK _wfp_logcallback (UINT32 flags, FILETIME const *pft, UINT8 const*a
// remote address
if ((flags & FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET) != 0 && remote_addr)
CopyMemory (ptr_log->remote_addr6.u.Byte, ((FWP_BYTE_ARRAY16*)remote_addr)->byteArray16, FWP_V6_ADDR_SIZE);
RtlCopyMemory (ptr_log->remote_addr6.u.Byte, ((FWP_BYTE_ARRAY16*)remote_addr)->byteArray16, FWP_V6_ADDR_SIZE);
// local address
if ((flags & FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET) != 0 && local_addr)
CopyMemory (ptr_log->local_addr6.u.Byte, ((FWP_BYTE_ARRAY16*)local_addr)->byteArray16, FWP_V6_ADDR_SIZE);
RtlCopyMemory (ptr_log->local_addr6.u.Byte, ((FWP_BYTE_ARRAY16*)local_addr)->byteArray16, FWP_V6_ADDR_SIZE);
}
if ((flags & FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET) != 0 && remote_port)
+23 -31
View File
@@ -276,19 +276,19 @@ COLORREF _app_getcolor (INT listview_id, size_t app_hash)
if (ptr_app)
{
if (app.ConfigGet (L"IsHighlightTimer", true, L"colors").AsBool () && _app_istimeractive (ptr_app))
color_value = L"ColorTimer";
else if (app.ConfigGet (L"IsHighlightInvalid", true, L"colors").AsBool () && !_app_isappexists (ptr_app))
if (app.ConfigGet (L"IsHighlightInvalid", true, L"colors").AsBool () && !_app_isappexists (ptr_app))
color_value = L"ColorInvalid";
else if (app.ConfigGet (L"IsHighlightTimer", true, L"colors").AsBool () && _app_istimeractive (ptr_app))
color_value = L"ColorTimer";
else if (!is_networkslist && !ptr_app->is_silent && app.ConfigGet (L"IsHighlightConnection", true, L"colors").AsBool () && _app_isapphaveconnection (app_hash))
color_value = L"ColorConnection";
else if (app.ConfigGet (L"IsHighlightSigned", true, L"colors").AsBool () && !ptr_app->is_silent && app.ConfigGet (L"IsCertificatesEnabled", false).AsBool () && ptr_app->is_signed)
color_value = L"ColorSigned";
else if (app.ConfigGet (L"IsHighlightSpecial", true, L"colors").AsBool () && _app_isapphaverule (app_hash))
else if (app.ConfigGet (L"IsHighlightSpecial", true, L"colors").AsBool () && !ptr_app->is_silent && _app_isapphaverule (app_hash))
color_value = L"ColorSpecial";
else if (!is_networkslist && !is_appslist && app.ConfigGet (L"IsHighlightSilent", true, L"colors").AsBool () && ptr_app->is_silent)
@@ -2842,13 +2842,13 @@ void _app_initialize ()
DWORD token_length = 0;
PTOKEN_USER token_user = nullptr;
if (OpenProcessToken (GetCurrentProcess (), TOKEN_QUERY, &token))
if (OpenProcessToken (NtCurrentProcess (), TOKEN_QUERY, &token))
{
GetTokenInformation (token, TokenUser, nullptr, 0, &token_length);
if (GetLastError () == ERROR_INSUFFICIENT_BUFFER)
{
token_user = new TOKEN_USER[token_length];
token_user = (PTOKEN_USER)new BYTE[token_length];
if (GetTokenInformation (token, TokenUser, token_user, token_length, &token_length))
{
@@ -3011,17 +3011,11 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
_app_settab_id (hwnd, app.ConfigGet (L"CurrentTab", IDC_APPS_PROFILE).AsInt ());
// initialize dropped packets log callback thread (win7+)
{
SecureZeroMemory (&log_stack, sizeof (log_stack));
RtlSecureZeroMemory (&log_stack, sizeof (log_stack));
RtlInitializeSListHead (&log_stack.ListHead);
log_stack.item_count = 0;
log_stack.thread_count = 0;
InitializeSListHead (&log_stack.ListHead);
// create notification window
_app_notifycreatewindow (hwnd);
}
// create notification window
_app_notifycreatewindow (hwnd);
// create network monitor thread
_r_createthread (&NetworkMonitorThread, (LPVOID)hwnd, false, THREAD_PRIORITY_LOWEST);
@@ -3582,9 +3576,7 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
LONG result = CDRF_DODEFAULT;
LPNMLVCUSTOMDRAW lpnmcd = (LPNMLVCUSTOMDRAW)lparam;
const INT ctrl_id = static_cast<INT>(lpnmcd->nmcd.hdr.idFrom);
if (ctrl_id == IDC_TOOLBAR)
if (static_cast<INT>(lpnmcd->nmcd.hdr.idFrom) == IDC_TOOLBAR)
{
result = _app_nmcustdraw_toolbar (lpnmcd);
}
@@ -3743,7 +3735,15 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
INT command_id = 0;
const INT ctrl_id = static_cast<INT>(lpnmlv->hdr.idFrom);
if (ctrl_id == IDC_STATUSBAR)
if (ctrl_id >= IDC_APPS_PROFILE && ctrl_id <= IDC_APPS_UWP)
{
command_id = IDM_EXPLORE;
}
else if (ctrl_id >= IDC_RULES_BLOCKLIST && ctrl_id <= IDC_NETWORK)
{
command_id = IDM_PROPERTIES;
}
else if (ctrl_id == IDC_STATUSBAR)
{
LPNMMOUSE nmouse = (LPNMMOUSE)lparam;
@@ -3756,14 +3756,6 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
else if (nmouse->dwItemSpec == 2)
command_id = IDM_PURGE_TIMERS;
}
else if (ctrl_id >= IDC_APPS_PROFILE && ctrl_id <= IDC_APPS_UWP)
{
command_id = IDM_EXPLORE;
}
else if (ctrl_id >= IDC_RULES_BLOCKLIST && ctrl_id <= IDC_NETWORK)
{
command_id = IDM_PROPERTIES;
}
if (command_id)
PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (command_id, 0), 0);
@@ -5515,7 +5507,7 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
if (ptr_network->af == AF_INET && ptr_network->state == MIB_TCP_STATE_ESTAB)
{
SecureZeroMemory (&tcprow, sizeof (tcprow));
RtlSecureZeroMemory (&tcprow, sizeof (tcprow));
tcprow.dwState = MIB_TCP_STATE_DELETE_TCB;
tcprow.dwLocalAddr = ptr_network->local_addr.S_un.S_addr;
@@ -5884,7 +5876,7 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
UINT32 remote_addr = _byteswap_ulong (ipv4_remote.S_un.S_addr);
UINT32 local_addr = _byteswap_ulong (ipv4_local.S_un.S_addr);
_wfp_logcallback (flags, &ft, (UINT8*)path.GetString (), nullptr, (SID*)config.padminsid, IPPROTO_TCP, FWP_IP_VERSION_V4, &remote_addr, RP_AD, &local_addr, LP_AD, layer_id, filter_id, FWP_DIRECTION_OUTBOUND, false, false);
_wfp_logcallback (flags, &ft, (UINT8*)path.GetString (), nullptr, (SID*)config.padminsid, IPPROTO_TCP, FWP_IP_VERSION_V4, remote_addr, nullptr, RP_AD, local_addr, nullptr, LP_AD, layer_id, filter_id, FWP_DIRECTION_OUTBOUND, false, false);
}
break;
+10 -14
View File
@@ -19,20 +19,20 @@ bool _app_getappinfo (size_t app_hash, EnumInfo info_key, LPVOID presult, size_t
{
if (info_key == InfoTimestamp)
{
CopyMemory (presult, &ptr_app->timestamp, size);
RtlCopyMemory (presult, &ptr_app->timestamp, size);
}
else if (info_key == InfoIconId)
{
CopyMemory (presult, &ptr_app->icon_id, size);
RtlCopyMemory (presult, &ptr_app->icon_id, size);
}
else if (info_key == InfoSilent)
{
CopyMemory (presult, &ptr_app->is_silent, size);
RtlCopyMemory (presult, &ptr_app->is_silent, size);
}
else if (info_key == InfoListviewId)
{
INT v = _app_getlistview_id (ptr_app->type);
CopyMemory (presult, &v, size);
RtlCopyMemory (presult, &v, size);
}
}
@@ -83,8 +83,7 @@ size_t _app_addapplication (HWND hwnd, LPCWSTR path, time_t timestamp, time_t ti
return app_hash; // already exists
PITEM_APP ptr_app = new ITEM_APP;
SecureZeroMemory (ptr_app, sizeof (ITEM_APP));
RtlSecureZeroMemory (ptr_app, sizeof (ITEM_APP));
const bool is_ntoskrnl = (app_hash == config.ntoskrnl_hash);
@@ -658,8 +657,7 @@ void _app_ruleenable (PITEM_RULE ptr_rule, bool is_enable)
else
{
PITEM_RULE_CONFIG ptr_config = new ITEM_RULE_CONFIG;
SecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG));
RtlSecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG));
ptr_config->is_enabled = is_enable;
_r_str_alloc (&ptr_config->pname, INVALID_SIZE_T, ptr_rule->pname);
@@ -670,8 +668,7 @@ void _app_ruleenable (PITEM_RULE ptr_rule, bool is_enable)
else
{
PITEM_RULE_CONFIG ptr_config = new ITEM_RULE_CONFIG;
SecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG));
RtlSecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG));
ptr_config->is_enabled = is_enable;
_r_str_alloc (&ptr_config->pname, INVALID_SIZE_T, ptr_rule->pname);
@@ -1025,7 +1022,7 @@ bool _app_isrulehost (LPCWSTR rule)
return false;
NET_ADDRESS_INFO ni;
SecureZeroMemory (&ni, sizeof (ni));
RtlSecureZeroMemory (&ni, sizeof (ni));
USHORT port = 0;
BYTE prefix_length = 0;
@@ -1061,7 +1058,7 @@ bool _app_isruleip (LPCWSTR rule)
return false;
NET_ADDRESS_INFO ni;
SecureZeroMemory (&ni, sizeof (ni));
RtlSecureZeroMemory (&ni, sizeof (ni));
USHORT port = 0;
BYTE prefix_length = 0;
@@ -1292,8 +1289,7 @@ void _app_profile_load_helper (const pugi::xml_node & root, EnumDataType type, U
if (rule_hash && rules_config.find (rule_hash) == rules_config.end ())
{
PITEM_RULE_CONFIG ptr_config = new ITEM_RULE_CONFIG;
SecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG));
RtlSecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG));
ptr_config->is_enabled = item.attribute (L"is_enabled").as_bool ();
+16 -16
View File
@@ -80,7 +80,7 @@ bool _wfp_initialize (bool is_full)
SAFE_DELETE (config.psession);
}
SecureZeroMemory (&session, sizeof (session));
RtlSecureZeroMemory (&session, sizeof (session));
session.displayData.name = APP_NAME;
session.displayData.description = APP_NAME;
@@ -88,7 +88,7 @@ bool _wfp_initialize (bool is_full)
session.txnWaitTimeoutInMSec = TRANSACTION_TIMEOUT;
if (config.psession)
CopyMemory (&session.sessionKey, config.psession, sizeof (GUID));
RtlCopyMemory (&session.sessionKey, config.psession, sizeof (GUID));
rc = FwpmEngineOpen (nullptr, RPC_C_AUTHN_WINNT, nullptr, &session, &config.hengine);
@@ -124,9 +124,9 @@ bool _wfp_initialize (bool is_full)
else
{
const size_t count = 2;
EXPLICIT_ACCESS access[count] = {0};
EXPLICIT_ACCESS access[count] = {{0}};
SecureZeroMemory (access, count * sizeof (EXPLICIT_ACCESS));
RtlSecureZeroMemory (access, count * sizeof (EXPLICIT_ACCESS));
// create default (engine) acl
access[0].grfAccessPermissions = FWPM_GENERIC_ALL | DELETE | WRITE_DAC | WRITE_OWNER;
@@ -705,10 +705,10 @@ DWORD _wfp_createfilter (HANDLE hengine, LPCWSTR name, FWPM_FILTER_CONDITION * l
}
if (layer)
CopyMemory (&filter.layerKey, layer, sizeof (GUID));
RtlCopyMemory (&filter.layerKey, layer, sizeof (GUID));
if (callout)
CopyMemory (&filter.action.calloutKey, callout, sizeof (GUID));
RtlCopyMemory (&filter.action.calloutKey, callout, sizeof (GUID));
filter.weight.type = FWP_UINT8;
filter.weight.uint8 = weight;
@@ -823,10 +823,10 @@ bool _wfp_createrulefilter (HANDLE hengine, LPCWSTR name, size_t app_hash, LPCWS
FWP_V6_ADDR_AND_MASK addr6 = {0};
FWP_RANGE range;
SecureZeroMemory (&range, sizeof (range));
RtlSecureZeroMemory (&range, sizeof (range));
ITEM_ADDRESS addr;
SecureZeroMemory (&addr, sizeof (addr));
RtlSecureZeroMemory (&addr, sizeof (addr));
addr.paddr4 = &addr4;
addr.paddr6 = &addr6;
@@ -1519,7 +1519,7 @@ bool _wfp_create2filters (HANDLE hengine, UINT line, bool is_intransact)
FWP_V6_ADDR_AND_MASK addr6 = {0};
ITEM_ADDRESS addr;
SecureZeroMemory (&addr, sizeof (addr));
RtlSecureZeroMemory (&addr, sizeof (addr));
addr.paddr4 = &addr4;
addr.paddr6 = &addr6;
@@ -1793,7 +1793,7 @@ size_t _wfp_dumpfilters (HANDLE hengine, const GUID * pprovider, GUIDS_VEC * ptr
{
FWPM_FILTER* pf = matchingFwpFilter[i];
if (pf && pf->providerKey && memcmp (pf->providerKey, pprovider, sizeof (GUID)) == 0)
if (pf && pf->providerKey && RtlEqualMemory (pf->providerKey, pprovider, sizeof (GUID)))
ptr_filters->push_back (pf->filterKey);
}
@@ -2055,16 +2055,16 @@ bool ByteBlobAlloc (PVOID const data, size_t length, FWP_BYTE_BLOB * *lpblob)
if (!data || !length || !lpblob)
return false;
FWP_BYTE_BLOB* blob = new FWP_BYTE_BLOB;
FWP_BYTE_BLOB* pblob = new FWP_BYTE_BLOB;
SecureZeroMemory (blob, sizeof (FWP_BYTE_BLOB));
RtlSecureZeroMemory (pblob, sizeof (FWP_BYTE_BLOB));
blob->data = new UINT8[length];
blob->size = (UINT32)length;
pblob->data = new UINT8[length];
pblob->size = (UINT32)length;
CopyMemory (blob->data, data, length);
RtlCopyMemory (pblob->data, data, length);
*lpblob = blob;
*lpblob = pblob;
return true;
}