diff --git a/src/controls.c b/src/controls.c index 7a56fbba..50a31195 100644 --- a/src/controls.c +++ b/src/controls.c @@ -542,13 +542,7 @@ BOOLEAN _app_initinterfacestate ( _r_toolbar_enablebutton (config.hrebar, IDC_TOOLBAR, IDM_TRAY_START, FALSE); _r_toolbar_enablebutton (config.hrebar, IDC_TOOLBAR, IDM_REFRESH, FALSE); - _r_status_settextformat ( - hwnd, - IDC_STATUSBAR, - 0, - L"%s...", - _r_locale_getstring (IDS_STATUS_FILTERS_PROCESSING) - ); + _r_status_settextformat (hwnd, IDC_STATUSBAR, 0, L"%s...", _r_locale_getstring (IDS_STATUS_FILTERS_PROCESSING)); return TRUE; } @@ -837,67 +831,22 @@ VOID _app_toolbar_init ( if (config.htoolbar) { - _r_toolbar_setstyle ( - config.hrebar, - IDC_TOOLBAR, - TBSTYLE_EX_DOUBLEBUFFER | TBSTYLE_EX_MIXEDBUTTONS | TBSTYLE_EX_HIDECLIPPEDBUTTONS - ); + _r_toolbar_setstyle (config.hrebar, IDC_TOOLBAR, TBSTYLE_EX_DOUBLEBUFFER | TBSTYLE_EX_MIXEDBUTTONS | TBSTYLE_EX_HIDECLIPPEDBUTTONS); SendMessage (config.htoolbar, WM_SETFONT, (WPARAM)config.wnd_font, TRUE); // fix font SendMessage (config.htoolbar, TB_SETIMAGELIST, 0, (LPARAM)config.himg_toolbar); - _r_toolbar_addbutton ( - config.hrebar, - IDC_TOOLBAR, - IDM_TRAY_START, - 0, - BTNS_BUTTON | BTNS_AUTOSIZE, - TBSTATE_ENABLED, - I_IMAGENONE - ); + _r_toolbar_addbutton (config.hrebar, IDC_TOOLBAR, IDM_TRAY_START, 0, BTNS_BUTTON | BTNS_AUTOSIZE, TBSTATE_ENABLED, I_IMAGENONE); _r_toolbar_addseparator (config.hrebar, IDC_TOOLBAR); - _r_toolbar_addbutton ( - config.hrebar, - IDC_TOOLBAR, - IDM_OPENRULESEDITOR, - 0, - BTNS_BUTTON | BTNS_AUTOSIZE, - TBSTATE_ENABLED, - 8 - ); + _r_toolbar_addbutton (config.hrebar, IDC_TOOLBAR, IDM_OPENRULESEDITOR, 0, BTNS_BUTTON | BTNS_AUTOSIZE, TBSTATE_ENABLED, 8); _r_toolbar_addseparator (config.hrebar, IDC_TOOLBAR); - _r_toolbar_addbutton ( - config.hrebar, - IDC_TOOLBAR, - IDM_TRAY_ENABLENOTIFICATIONS_CHK, - 0, - BTNS_BUTTON | BTNS_AUTOSIZE, - TBSTATE_ENABLED, - 4 - ); - _r_toolbar_addbutton ( - config.hrebar, - IDC_TOOLBAR, - IDM_TRAY_ENABLELOG_CHK, - 0, - BTNS_BUTTON | BTNS_AUTOSIZE, - TBSTATE_ENABLED, - 5 - ); - - _r_toolbar_addbutton ( - config.hrebar, - IDC_TOOLBAR, - IDM_TRAY_ENABLEUILOG_CHK, - 0, - BTNS_BUTTON | BTNS_AUTOSIZE, - TBSTATE_ENABLED, - 10 - ); + _r_toolbar_addbutton (config.hrebar, IDC_TOOLBAR, IDM_TRAY_ENABLENOTIFICATIONS_CHK, 0, BTNS_BUTTON | BTNS_AUTOSIZE, TBSTATE_ENABLED, 4); + _r_toolbar_addbutton (config.hrebar, IDC_TOOLBAR, IDM_TRAY_ENABLELOG_CHK, 0, BTNS_BUTTON | BTNS_AUTOSIZE, TBSTATE_ENABLED, 5); + _r_toolbar_addbutton (config.hrebar, IDC_TOOLBAR, IDM_TRAY_ENABLEUILOG_CHK, 0, BTNS_BUTTON | BTNS_AUTOSIZE, TBSTATE_ENABLED, 10); _r_toolbar_addseparator (config.hrebar, IDC_TOOLBAR); @@ -918,15 +867,7 @@ VOID _app_toolbar_init ( // insert toolbar button_size = _r_toolbar_getbuttonsize (config.hrebar, IDC_TOOLBAR); - _r_rebar_insertband ( - hwnd, - IDC_REBAR, - REBAR_TOOLBAR_ID, - config.htoolbar, - RBBS_VARIABLEHEIGHT | RBBS_NOGRIPPER | RBBS_USECHEVRON, - LOWORD (button_size), - HIWORD (button_size) - ); + _r_rebar_insertband (hwnd, IDC_REBAR, REBAR_TOOLBAR_ID, config.htoolbar, RBBS_VARIABLEHEIGHT | RBBS_NOGRIPPER | RBBS_USECHEVRON, LOWORD (button_size), HIWORD (button_size)); } // insert searchbar @@ -954,15 +895,7 @@ VOID _app_toolbar_init ( rebar_height = _r_rebar_getheight (hwnd, IDC_REBAR); - _r_rebar_insertband ( - hwnd, - IDC_REBAR, - REBAR_SEARCH_ID, - config.hsearchbar, - RBBS_VARIABLEHEIGHT | RBBS_NOGRIPPER | RBBS_USECHEVRON, - _r_dc_getdpi (180, dpi_value), - 20 - ); + _r_rebar_insertband (hwnd, IDC_REBAR, REBAR_SEARCH_ID, config.hsearchbar, RBBS_VARIABLEHEIGHT | RBBS_NOGRIPPER | RBBS_USECHEVRON, _r_dc_getdpi (180, dpi_value), 20); _app_search_setvisible (hwnd, config.hsearchbar); } @@ -1163,6 +1096,7 @@ VOID _app_refreshstatus ( if (text[i]) { size[i] = _r_dc_getfontwidth (hdc, &text[i]->sr) + spacing; + calculated_width += size[i]; } } diff --git a/src/db.c b/src/db.c index 0c3acb96..184853b1 100644 --- a/src/db.c +++ b/src/db.c @@ -38,25 +38,19 @@ NTSTATUS _app_db_encrypt ( R_BYTEREF key; NTSTATUS status; + *out_buffer = NULL; + status = _r_crypt_createcryptcontext (&crypt_context, XML_ENCRYPTION_ALGO); if (status != STATUS_SUCCESS) - { - *out_buffer = NULL; - return status; - } _r_obj_initializebyterefempty (&key); status = _r_crypt_generatekey (&crypt_context, &key); if (status != STATUS_SUCCESS) - { - *out_buffer = NULL; - goto CleanupExit; - } status = _r_crypt_encryptbuffer (&crypt_context, bytes->buffer, (ULONG)bytes->length, out_buffer); @@ -77,25 +71,19 @@ NTSTATUS _app_db_decrypt ( R_BYTEREF key; NTSTATUS status; + *out_buffer = NULL; + status = _r_crypt_createcryptcontext (&crypt_context, XML_ENCRYPTION_ALGO); if (status != STATUS_SUCCESS) - { - *out_buffer = NULL; - return status; - } _r_obj_initializebyterefempty (&key); status = _r_crypt_generatekey (&crypt_context, &key); if (status != STATUS_SUCCESS) - { - *out_buffer = NULL; - goto CleanupExit; - } status = _r_crypt_decryptbuffer (&crypt_context, bytes->buffer, (ULONG)bytes->length, out_buffer); @@ -163,12 +151,12 @@ NTSTATUS _app_db_ishashvalid ( _Success_ (return == STATUS_SUCCESS) NTSTATUS _app_db_istypevalid ( _In_ PDB_INFORMATION db_info, - _In_ ENUM_VERSION_XML min_version, - _In_ ENUM_TYPE_XML type + _In_ ENUM_TYPE_XML type, + _In_ ENUM_VERSION_XML min_version ) { if (db_info->type != type) - return STATUS_OBJECT_TYPE_MISMATCH; + return STATUS_NDIS_INVALID_DATA; if (db_info->version >= min_version) return STATUS_SUCCESS; @@ -188,12 +176,12 @@ NTSTATUS _app_db_openfrombuffer ( _r_obj_movereference (&db_info->bytes, _r_obj_createbyte3 (buffer)); - status = _app_db_parser_validatefile (db_info); + status = _app_db_decodebuffer (db_info); if (status != STATUS_SUCCESS) return status; - status = _app_db_istypevalid (db_info, min_version, type); + status = _app_db_istypevalid (db_info, type, min_version); return status; } @@ -216,12 +204,12 @@ NTSTATUS _app_db_openfromfile ( if (status != ERROR_SUCCESS) return status; - status = _app_db_parser_validatefile (db_info); + status = _app_db_decodebuffer (db_info); if (status != STATUS_SUCCESS) return status; - status = _app_db_istypevalid (db_info, min_version, type); + status = _app_db_istypevalid (db_info, type, min_version); return status; } @@ -513,30 +501,11 @@ VOID _app_db_parse_ruleconfig ( } _Success_ (return == STATUS_SUCCESS) -NTSTATUS _app_db_parser_init ( - _In_ PDB_INFORMATION db_info, - _In_ ENUM_VERSION_XML min_version, - _In_ ENUM_TYPE_XML type -) -{ - NTSTATUS status; - - status = _app_db_parser_validatefile (db_info); - - if (status != STATUS_SUCCESS) - return status; - - status = _app_db_istypevalid (db_info, min_version, type); - - return status; -} - -_Success_ (return == STATUS_SUCCESS) -NTSTATUS _app_db_parser_decodebody ( +NTSTATUS _app_db_decodebody ( _Inout_ PDB_INFORMATION db_info ) { - static comp_algo[] = { + static USHORT comp_algo[] = { COMPRESSION_FORMAT_XPRESS_HUFF, COMPRESSION_FORMAT_XPRESS, COMPRESSION_FORMAT_LZNT1 @@ -578,11 +547,9 @@ NTSTATUS _app_db_parser_decodebody ( _r_obj_movereference (&db_info->bytes, new_bytes); break; } - //else - //{ - // return status; - //} } + + break; } case PROFILE2_ID_ENCRYPTED: @@ -600,11 +567,8 @@ NTSTATUS _app_db_parser_decodebody ( } } - if (db_info->bytes->length >= PROFILE2_HEADER_LENGTH) - { - if (RtlEqualMemory (db_info->bytes->buffer, profile2_fourcc, sizeof (profile2_fourcc))) - return STATUS_MORE_PROCESSING_REQUIRED; - } + if (RtlEqualMemory (db_info->bytes->buffer, profile2_fourcc, sizeof (profile2_fourcc))) + return STATUS_MORE_PROCESSING_REQUIRED; GetSystemInfo (&si); @@ -613,11 +577,14 @@ NTSTATUS _app_db_parser_decodebody ( return STATUS_SUCCESS; // validate hash - return _app_db_ishashvalid (&db_info->bytes->sr, &db_info->hash->sr); + if (db_info->hash) + status = _app_db_ishashvalid (&db_info->bytes->sr, &db_info->hash->sr); + + return status; } _Success_ (NT_SUCCESS (return)) -NTSTATUS _app_db_parser_encodebody ( +NTSTATUS _app_db_encodebody ( _Inout_ PDB_INFORMATION db_info, _In_ BYTE profile_type, _Out_ PR_BYTE_PTR out_buffer @@ -679,7 +646,7 @@ NTSTATUS _app_db_parser_encodebody ( if (new_bytes) { - status = _app_db_parser_generatebody (profile_type, hash_value, new_bytes, &body_bytes); + status = _app_db_generatebody (profile_type, hash_value, new_bytes, &body_bytes); *out_buffer = body_bytes; } @@ -695,7 +662,7 @@ NTSTATUS _app_db_parser_encodebody ( } _Success_ (NT_SUCCESS (return)) -NTSTATUS _app_db_parser_generatebody ( +NTSTATUS _app_db_generatebody ( _In_ BYTE profile_type, _In_ PR_BYTE hash_value, _In_ PR_BYTE body_value, @@ -745,7 +712,7 @@ NTSTATUS _app_db_parser_generatebody ( } _Success_ (return == STATUS_SUCCESS) -NTSTATUS _app_db_parser_validatefile ( +NTSTATUS _app_db_decodebuffer ( _Inout_ PDB_INFORMATION db_info ) { @@ -757,7 +724,7 @@ NTSTATUS _app_db_parser_validatefile ( do { - status = _app_db_parser_decodebody (db_info); + status = _app_db_decodebody (db_info); if (status != STATUS_MORE_PROCESSING_REQUIRED) break; @@ -906,7 +873,7 @@ NTSTATUS _app_db_save_streamtofile ( if (!_r_fs_isvalidhandle (hfile)) return RtlGetLastNtStatus (); - status = _app_db_parser_encodebody (db_info, PROFILE2_ID_COMPRESSED, &new_bytes); + status = _app_db_encodebody (db_info, PROFILE2_ID_COMPRESSED, &new_bytes); if (NT_SUCCESS (status)) WriteFile (hfile, new_bytes->buffer, (ULONG)new_bytes->length, &unused, NULL); diff --git a/src/db.h b/src/db.h index 47903c0c..2b6ef9e6 100644 --- a/src/db.h +++ b/src/db.h @@ -54,9 +54,7 @@ static const BYTE profile2_fourcc[] = { #define XML_PROFILE_EXT L"xml" #define XML_PROFILE_FILE L"profile." XML_PROFILE_EXT -#define XML_PROFILE2_FILE L"profile." XML_PROFILE_EXT - -#define XML_PROFILE2_INTERNAL L"profile_internal." XML_PROFILE_EXT +#define XML_PROFILE_INTERNAL L"profile_internal." XML_PROFILE_EXT #define XML_ENCRYPTION_ALGO BCRYPT_AES_ALGORITHM #define XML_SIGNATURE_ALGO BCRYPT_SHA256_ALGORITHM @@ -106,8 +104,8 @@ NTSTATUS _app_db_ishashvalid ( _Success_ (return == STATUS_SUCCESS) NTSTATUS _app_db_istypevalid ( _In_ PDB_INFORMATION db_info, - _In_ ENUM_VERSION_XML min_version, - _In_ ENUM_TYPE_XML type + _In_ ENUM_TYPE_XML type, + _In_ ENUM_VERSION_XML min_version ); _Success_ (return == STATUS_SUCCESS) @@ -127,26 +125,19 @@ NTSTATUS _app_db_openfromfile ( ); _Success_ (return == STATUS_SUCCESS) -NTSTATUS _app_db_parser_init ( - _In_ PDB_INFORMATION db_info, - _In_ ENUM_VERSION_XML min_version, - _In_ ENUM_TYPE_XML type -); - -_Success_ (return == STATUS_SUCCESS) -NTSTATUS _app_db_parser_decodebody ( +NTSTATUS _app_db_decodebody ( _Inout_ PDB_INFORMATION db_info ); _Success_ (NT_SUCCESS (return)) -NTSTATUS _app_db_parser_encodebody ( +NTSTATUS _app_db_encodebody ( _Inout_ PDB_INFORMATION db_info, _In_ BYTE profile_type, _Out_ PR_BYTE_PTR out_buffer ); _Success_ (NT_SUCCESS (return)) -NTSTATUS _app_db_parser_generatebody ( +NTSTATUS _app_db_generatebody ( _In_ BYTE profile_type, _In_ PR_BYTE hash_value, _In_ PR_BYTE body_value, @@ -154,7 +145,7 @@ NTSTATUS _app_db_parser_generatebody ( ); _Success_ (return == STATUS_SUCCESS) -NTSTATUS _app_db_parser_validatefile ( +NTSTATUS _app_db_decodebuffer ( _Inout_ PDB_INFORMATION db_info ); diff --git a/src/editor.c b/src/editor.c index 363c9fd9..77a061a3 100644 --- a/src/editor.c +++ b/src/editor.c @@ -20,9 +20,7 @@ PEDITOR_CONTEXT _app_editor_createwindow ( context->is_settorules = is_settorules; if (_r_wnd_createmodalwindow (_r_sys_getimagebase (), MAKEINTRESOURCE (IDD_EDITOR), hwnd, &EditorProc, context)) - { return context; - } _app_editor_deletewindow (context); @@ -115,13 +113,7 @@ VOID _app_editor_settabtitle ( checked_count = _r_listview_getitemcheckedcount (hwnd, listview_id); - _r_str_printf ( - buffer, - RTL_NUMBER_OF (buffer), - L"%s (%d)", - _r_locale_getstring (locale_id), - checked_count - ); + _r_str_printf (buffer, RTL_NUMBER_OF (buffer), L"%s (%d)", _r_locale_getstring (locale_id), checked_count); _r_tab_setitem (hparent, IDC_TAB, tab_id, buffer, I_IMAGENONE, 0); } @@ -163,6 +155,7 @@ PR_STRING _app_editor_getrulesfromlistview ( if ((_r_str_getlength2 (sb.string) + _r_str_getlength2 (string)) > RULE_RULE_CCH_MAX) { _r_obj_dereference (string); + break; } @@ -197,9 +190,7 @@ VOID _app_editor_setrulestolistview ( PR_STRING rule_string; R_STRINGREF first_part; R_STRINGREF remaining_part; - INT item_id; - - item_id = 0; + INT item_id = 0; _r_obj_initializestringref2 (&remaining_part, rule); @@ -395,13 +386,7 @@ INT_PTR CALLBACK EditorRuleProc ( if (!_app_parserulestring (&first_part, &address)) { - _r_ctrl_showballoontip ( - hwnd, - IDC_RULE_ID, - 0, - NULL, - _r_locale_getstring (IDS_STATUS_SYNTAX_ERROR) - ); + _r_ctrl_showballoontip (hwnd, IDC_RULE_ID, 0, NULL, _r_locale_getstring (IDS_STATUS_SYNTAX_ERROR)); _r_ctrl_enable (hwnd, IDC_SAVE, FALSE); @@ -574,13 +559,7 @@ INT_PTR CALLBACK EditorPagesProc ( string = _app_db_getprotoname (protos[i], AF_UNSPEC, TRUE); - _r_str_printf ( - buffer, - RTL_NUMBER_OF (buffer), - L"%s (%" TEXT (PRIu8) L")", - string->buffer, - protos[i] - ); + _r_str_printf (buffer, RTL_NUMBER_OF (buffer), L"%s (%" TEXT (PRIu8) L")", string->buffer, protos[i]); _r_combobox_insertitem (hwnd, IDC_RULE_PROTOCOL_ID, index, buffer); _r_combobox_setitemparam (hwnd, IDC_RULE_PROTOCOL_ID, index, (LPARAM)protos[i]); @@ -596,13 +575,7 @@ INT_PTR CALLBACK EditorPagesProc ( { string = _app_db_getprotoname (context->ptr_rule->protocol, AF_UNSPEC, TRUE); - _r_str_printf ( - buffer, - RTL_NUMBER_OF (buffer), - L"%s (%" TEXT (PR_ULONG) L")", - string->buffer, - context->ptr_rule->protocol - ); + _r_str_printf (buffer, RTL_NUMBER_OF (buffer), L"%s (%" TEXT (PR_ULONG) L")", string->buffer, context->ptr_rule->protocol); _r_combobox_insertitem (hwnd, IDC_RULE_PROTOCOL_ID, index, buffer); _r_combobox_setitemparam (hwnd, IDC_RULE_PROTOCOL_ID, index, (LPARAM)context->ptr_rule->protocol); @@ -747,20 +720,11 @@ INT_PTR CALLBACK EditorPagesProc ( while (_r_obj_enumhashtablepointer (apps_table, &ptr_app, NULL, &enum_key)) { // check for services - is_enabled = ((_r_obj_findhashtable (context->ptr_rule->apps, ptr_app->app_hash)) || - (context->ptr_rule->is_forservices && _app_issystemhash (ptr_app->app_hash))); + is_enabled = ((_r_obj_findhashtable (context->ptr_rule->apps, ptr_app->app_hash)) || (context->ptr_rule->is_forservices && _app_issystemhash (ptr_app->app_hash))); _app_listview_lock (hwnd, IDC_RULE_APPS_ID, TRUE); - _r_listview_additem_ex ( - hwnd, - IDC_RULE_APPS_ID, - 0, - LPSTR_TEXTCALLBACK, - I_IMAGECALLBACK, - I_GROUPIDCALLBACK, - _app_listview_createcontext (ptr_app->app_hash) - ); + _r_listview_additem_ex (hwnd, IDC_RULE_APPS_ID, 0, LPSTR_TEXTCALLBACK, I_IMAGECALLBACK, I_GROUPIDCALLBACK, _app_listview_createcontext (ptr_app->app_hash)); _r_listview_setitemcheck (hwnd, IDC_RULE_APPS_ID, 0, is_enabled); @@ -874,20 +838,11 @@ INT_PTR CALLBACK EditorPagesProc ( continue; // check for services - is_enabled = ((ptr_rule->is_forservices && _app_issystemhash (context->ptr_app->app_hash)) || - _r_obj_findhashtable (ptr_rule->apps, context->ptr_app->app_hash)); + is_enabled = ((ptr_rule->is_forservices && _app_issystemhash (context->ptr_app->app_hash)) || _r_obj_findhashtable (ptr_rule->apps, context->ptr_app->app_hash)); _app_listview_lock (hwnd, IDC_APP_RULES_ID, TRUE); - _r_listview_additem_ex ( - hwnd, - IDC_APP_RULES_ID, - 0, - LPSTR_TEXTCALLBACK, - I_IMAGECALLBACK, - I_GROUPIDCALLBACK, - _app_listview_createcontext (i) - ); + _r_listview_additem_ex (hwnd, IDC_APP_RULES_ID, 0, LPSTR_TEXTCALLBACK, I_IMAGECALLBACK, I_GROUPIDCALLBACK, _app_listview_createcontext (i)); _r_listview_setitemcheck (hwnd, IDC_APP_RULES_ID, 0, is_enabled); @@ -1039,13 +994,8 @@ INT_PTR CALLBACK EditorPagesProc ( lpnmlv = (LPNMITEMACTIVATE)lparam; listview_id = (INT)(INT_PTR)lpnmlv->hdr.idFrom; - if (listview_id != IDC_RULE_REMOTE_ID && - listview_id != IDC_RULE_LOCAL_ID && - listview_id != IDC_RULE_APPS_ID && - listview_id != IDC_APP_RULES_ID) - { + if (listview_id != IDC_RULE_REMOTE_ID && listview_id != IDC_RULE_LOCAL_ID && listview_id != IDC_RULE_APPS_ID && listview_id != IDC_APP_RULES_ID) break; - } context = _app_editor_getcontext (hwnd); @@ -1069,17 +1019,11 @@ INT_PTR CALLBACK EditorPagesProc ( id_edit = is_remote ? IDC_RULE_REMOTE_EDIT : IDC_RULE_LOCAL_EDIT; id_delete = is_remote ? IDC_RULE_REMOTE_DELETE : IDC_RULE_LOCAL_DELETE; - _r_obj_movereference ( - &localized_string, - _r_obj_concatstrings (2, _r_locale_getstring (IDS_ADD), L"...") - ); + _r_obj_movereference (&localized_string, _r_obj_concatstrings (2, _r_locale_getstring (IDS_ADD), L"...")); _r_menu_additem (hsubmenu, id_add, localized_string->buffer); - _r_obj_movereference ( - &localized_string, - _r_obj_concatstrings (2, _r_locale_getstring (IDS_EDIT2), L"...") - ); + _r_obj_movereference (&localized_string, _r_obj_concatstrings (2, _r_locale_getstring (IDS_EDIT2), L"...")); _r_menu_additem (hsubmenu, id_edit, localized_string->buffer); _r_menu_additem (hsubmenu, id_delete, _r_locale_getstring (IDS_DELETE)); @@ -1196,8 +1140,7 @@ INT_PTR CALLBACK EditorPagesProc ( { if (listview_id == IDC_RULE_APPS_ID) { - if ((lpnmlv->uNewState & LVIS_STATEIMAGEMASK) == INDEXTOSTATEIMAGEMASK (1) || - ((lpnmlv->uNewState & LVIS_STATEIMAGEMASK) == INDEXTOSTATEIMAGEMASK (2))) + if ((lpnmlv->uNewState & LVIS_STATEIMAGEMASK) == INDEXTOSTATEIMAGEMASK (1) || ((lpnmlv->uNewState & LVIS_STATEIMAGEMASK) == INDEXTOSTATEIMAGEMASK (2))) { is_locked = _app_listview_islocked (hwnd, (INT)(INT_PTR)lpnmlv->hdr.idFrom); @@ -1229,11 +1172,9 @@ INT_PTR CALLBACK EditorPagesProc ( if ((lpnmlv->uChanged & LVIF_STATE) != 0) { - if (listview_id == IDC_RULE_APPS_ID || - listview_id == IDC_APP_RULES_ID) + if (listview_id == IDC_RULE_APPS_ID || listview_id == IDC_APP_RULES_ID) { - if ((lpnmlv->uNewState & LVIS_STATEIMAGEMASK) == INDEXTOSTATEIMAGEMASK (1) || - ((lpnmlv->uNewState & LVIS_STATEIMAGEMASK) == INDEXTOSTATEIMAGEMASK (2))) + if ((lpnmlv->uNewState & LVIS_STATEIMAGEMASK) == INDEXTOSTATEIMAGEMASK (1) || ((lpnmlv->uNewState & LVIS_STATEIMAGEMASK) == INDEXTOSTATEIMAGEMASK (2))) { if (_app_listview_islocked (hwnd, (INT)(INT_PTR)lpnmlv->hdr.idFrom)) break; @@ -1282,11 +1223,7 @@ INT_PTR CALLBACK EditorPagesProc ( if (listview_id != IDC_RULE_APPS_ID && listview_id != IDC_APP_RULES_ID) break; - string = _app_gettooltipbylparam ( - hwnd, - listview_id, - _app_listview_getitemcontext (hwnd, listview_id, lpnmlv->iItem) - ); + string = _app_gettooltipbylparam (hwnd, listview_id, _app_listview_getitemcontext (hwnd, listview_id, lpnmlv->iItem)); if (!string) break; @@ -1344,7 +1281,7 @@ INT_PTR CALLBACK EditorPagesProc ( string = _r_ctrl_getstring (hwnd, IDC_SEARCH); - ptr_search = _r_mem_allocatezero (sizeof(ITEM_SEARCH)); + ptr_search = _r_mem_allocatezero (sizeof (ITEM_SEARCH)); ptr_search->hwnd = hwnd; ptr_search->listview_id = listview_id; @@ -1373,8 +1310,7 @@ INT_PTR CALLBACK EditorPagesProc ( if (!_r_ctrl_isenabled (hwnd, ctrl_id)) break; - listview_id = (ctrl_id == IDC_RULE_REMOTE_ADD || - ctrl_id == IDC_RULE_REMOTE_EDIT) ? IDC_RULE_REMOTE_ID : IDC_RULE_LOCAL_ID; + listview_id = (ctrl_id == IDC_RULE_REMOTE_ADD || ctrl_id == IDC_RULE_REMOTE_EDIT) ? IDC_RULE_REMOTE_ID : IDC_RULE_LOCAL_ID; if (ctrl_id == IDC_RULE_REMOTE_EDIT || ctrl_id == IDC_RULE_LOCAL_EDIT) { @@ -1423,13 +1359,7 @@ INT_PTR CALLBACK EditorPagesProc ( context->item_id = item_id; context->current_length = current_length; - _r_wnd_createmodalwindow ( - _r_sys_getimagebase (), - MAKEINTRESOURCE (IDD_EDITOR_ADDRULE), - hwnd, - &EditorRuleProc, - context - ); + _r_wnd_createmodalwindow (_r_sys_getimagebase (), MAKEINTRESOURCE (IDD_EDITOR_ADDRULE), hwnd, &EditorRuleProc, context); break; } @@ -1448,14 +1378,8 @@ INT_PTR CALLBACK EditorPagesProc ( if (!selected_count) break; - if (_r_show_message ( - hwnd, - MB_YESNO | MB_ICONEXCLAMATION, - NULL, - _r_locale_getstring (IDS_QUESTION_DELETE)) != IDYES) - { + if (_r_show_message (hwnd, MB_YESNO | MB_ICONEXCLAMATION, NULL, _r_locale_getstring (IDS_QUESTION_DELETE)) != IDYES) break; - } item_count = _r_listview_getitemcount (hwnd, listview_id) - 1; @@ -1635,11 +1559,7 @@ INT_PTR CALLBACK EditorProc ( if (context->is_settorules) { - _r_str_copy ( - title, - RTL_NUMBER_OF (title), - _r_obj_getstringordefault (context->ptr_rule->name, SZ_RULE_NEW_TITLE) - ); + _r_str_copy (title, RTL_NUMBER_OF (title), _r_obj_getstringordefault (context->ptr_rule->name, SZ_RULE_NEW_TITLE)); if (context->ptr_rule->is_readonly) _r_str_appendformat (title, RTL_NUMBER_OF (title), L" (%s)", SZ_RULE_INTERNAL_TITLE); @@ -1687,11 +1607,7 @@ INT_PTR CALLBACK EditorProc ( _r_ctrl_setstring (hwnd, IDC_SAVE, _r_locale_getstring (IDS_SAVE)); _r_ctrl_setstring (hwnd, IDC_CLOSE, _r_locale_getstring (IDS_CLOSE)); - _r_tab_selectitem ( - hwnd, - IDC_TAB, - _r_calc_clamp (context->page_id, 0, _r_tab_getitemcount (hwnd, IDC_TAB)) - ); + _r_tab_selectitem (hwnd, IDC_TAB, _r_calc_clamp (context->page_id, 0, _r_tab_getitemcount (hwnd, IDC_TAB))); break; } @@ -1898,17 +1814,8 @@ INT_PTR CALLBACK EditorProc ( _r_obj_movereference (&context->ptr_rule->rule_local, string); } - context->ptr_rule->protocol = (UINT8)_r_combobox_getitemparam ( - hpage_general, - IDC_RULE_PROTOCOL_ID, - _r_combobox_getcurrentitem (hpage_general, IDC_RULE_PROTOCOL_ID) - ); - - context->ptr_rule->af = (ADDRESS_FAMILY)_r_combobox_getitemparam ( - hpage_general, - IDC_RULE_VERSION_ID, - _r_combobox_getcurrentitem (hpage_general, IDC_RULE_VERSION_ID) - ); + context->ptr_rule->protocol = (UINT8)_r_combobox_getitemparam (hpage_general, IDC_RULE_PROTOCOL_ID, _r_combobox_getcurrentitem (hpage_general, IDC_RULE_PROTOCOL_ID)); + context->ptr_rule->af = (ADDRESS_FAMILY)_r_combobox_getitemparam (hpage_general, IDC_RULE_VERSION_ID, _r_combobox_getcurrentitem (hpage_general, IDC_RULE_VERSION_ID)); string = _app_db_getprotoname (context->ptr_rule->protocol, context->ptr_rule->af, FALSE); @@ -1916,11 +1823,7 @@ INT_PTR CALLBACK EditorProc ( check_id = _r_ctrl_isradiochecked (hpage_general, IDC_RULE_DIRECTION_OUTBOUND, IDC_RULE_DIRECTION_ANY); - context->ptr_rule->direction = (FWP_DIRECTION)_r_calc_clamp ( - check_id - IDC_RULE_DIRECTION_OUTBOUND, - FWP_DIRECTION_OUTBOUND, - FWP_DIRECTION_MAX - ); + context->ptr_rule->direction = (FWP_DIRECTION)_r_calc_clamp (check_id - IDC_RULE_DIRECTION_OUTBOUND, FWP_DIRECTION_OUTBOUND, FWP_DIRECTION_MAX); check_id = _r_ctrl_isradiochecked (hpage_general, IDC_RULE_ACTION_BLOCK, IDC_RULE_ACTION_ALLOW); diff --git a/src/helper.c b/src/helper.c index 3362498b..29c41181 100644 --- a/src/helper.c +++ b/src/helper.c @@ -257,12 +257,10 @@ PR_STRING _app_formataddress ( WCHAR addr_str[DNS_MAX_NAME_BUFFER_LENGTH]; R_STRINGBUILDER formatted_address; PR_STRING string; - BOOLEAN is_success; + BOOLEAN is_success = FALSE; _r_obj_initializestringbuilder (&formatted_address); - is_success = FALSE; - if (flags & FMTADDR_USE_PROTOCOL) { string = _app_db_getprotoname (proto, af, FALSE); @@ -292,11 +290,7 @@ PR_STRING _app_formataddress ( if (port && !(flags & FMTADDR_USE_PROTOCOL)) { - _r_obj_appendstringbuilderformat ( - &formatted_address, - is_success ? L":%" TEXT (PRIu16) : L"%" TEXT (PRIu16), - port - ); + _r_obj_appendstringbuilderformat (&formatted_address, is_success ? L":%" TEXT (PRIu16) : L"%" TEXT (PRIu16), port); is_success = TRUE; } @@ -425,9 +419,7 @@ BOOLEAN _app_getappinfoparam2 ( ) { PITEM_APP_INFO ptr_app_info; - BOOLEAN is_success; - - is_success = FALSE; + BOOLEAN is_success = FALSE; ptr_app_info = _app_getappinfobyhash2 (app_hash); @@ -530,11 +522,9 @@ BOOLEAN _app_isappsigned ( _In_ ULONG_PTR app_hash ) { - PR_STRING string; + PR_STRING string = NULL; BOOLEAN is_signed; - string = NULL; - if (_app_getappinfoparam2 (app_hash, INFO_SIGNATURE_STRING, &string, sizeof (string))) { is_signed = !_r_obj_isstringempty2 (string); @@ -653,10 +643,9 @@ VOID _app_getfileicon ( _Inout_ PITEM_APP_INFO ptr_app_info ) { - LONG icon_id; + LONG icon_id = 0; BOOLEAN is_iconshidded; - icon_id = 0; is_iconshidded = _r_config_getboolean (L"IsIconsHidden", FALSE); if (is_iconshidded || !_app_isappvalidbinary (ptr_app_info->type, ptr_app_info->path)) @@ -979,7 +968,7 @@ VOID _app_getfileversioninfo ( { R_STRINGBUILDER sb; PR_STRING version_string = NULL; - HINSTANCE hlib = NULL; + HINSTANCE hlib; VS_FIXEDFILEINFO *ver_info = NULL; R_BYTEREF ver_block; PR_STRING string; @@ -1201,7 +1190,7 @@ VOID _app_generate_timerscontrol ( ) { LONG64 current_time; - LONG64 app_time; + LONG64 app_time = 0; LONG64 timestamp; PR_STRING interval_string; UINT index; @@ -1209,8 +1198,6 @@ VOID _app_generate_timerscontrol ( current_time = _r_unixtime_now (); - app_time = 0; - is_checked = FALSE; _app_getappinfobyhash (app_hash, INFO_TIMER, &app_time, sizeof (app_time)); @@ -1568,9 +1555,9 @@ PR_STRING _app_resolveaddress ( _In_ LPCVOID address ) { - PDNS_RECORD dns_records; + PDNS_RECORD dns_records = NULL; PR_STRING arpa_string; - PR_STRING string; + PR_STRING string = NULL; ULONG_PTR arpa_hash; DNS_STATUS status; @@ -1584,9 +1571,6 @@ PR_STRING _app_resolveaddress ( return string; } - dns_records = NULL; - string = NULL; - status = DnsQuery (arpa_string->buffer, DNS_TYPE_PTR, DNS_QUERY_NO_HOSTS_FILE, NULL, &dns_records, NULL); if (status == NO_ERROR) @@ -1736,22 +1720,14 @@ VOID NTAPI _app_queuefileinformation ( return; } - hfile = CreateFile ( - ptr_app_info->path->buffer, - GENERIC_READ, - FILE_SHARE_READ | FILE_SHARE_DELETE, - NULL, - OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, - NULL - ); + hfile = CreateFile (ptr_app_info->path->buffer, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (!_r_fs_isvalidhandle (hfile)) { status = GetLastError (); if (status != ERROR_ACCESS_DENIED) - _r_log (LOG_LEVEL_INFO, NULL, L"CreateFile", GetLastError (), ptr_app_info->path->buffer); + _r_log (LOG_LEVEL_INFO, NULL, L"CreateFile", status, ptr_app_info->path->buffer); return; } @@ -1826,17 +1802,9 @@ VOID NTAPI _app_queuenotifyinformation ( if (ptr_app_info) { - if (_app_isappvalidbinary (ptr_app_info->type, ptr_app_info->path->buffer)) + if (_app_isappvalidbinary (ptr_app_info->type, ptr_app_info->path)) { - hfile = CreateFile ( - ptr_app_info->path->buffer, - GENERIC_READ, - FILE_SHARE_READ | FILE_SHARE_DELETE, - NULL, - OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, - NULL - ); + hfile = CreateFile (ptr_app_info->path->buffer, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (_r_fs_isvalidhandle (hfile)) { @@ -1875,14 +1843,7 @@ VOID NTAPI _app_queuenotifyinformation ( hdefer = BeginDeferWindowPos (2); // set signature string - _r_ctrl_settablestring ( - context->hwnd, - &hdefer, - IDC_SIGNATURE_ID, - &localized_string->sr, - IDC_SIGNATURE_TEXT, - &signature_str->sr - ); + _r_ctrl_settablestring (context->hwnd, &hdefer, IDC_SIGNATURE_ID, &localized_string->sr, IDC_SIGNATURE_TEXT, &signature_str->sr); // set address string _r_obj_movereference (&localized_string, _r_obj_concatstrings (2, _r_locale_getstring (IDS_ADDRESS), L":")); @@ -1890,14 +1851,7 @@ VOID NTAPI _app_queuenotifyinformation ( if (_r_obj_isstringempty (address_str)) _r_obj_movereference (&address_str, _r_obj_createstring (SZ_EMPTY)); - _r_ctrl_settablestring ( - context->hwnd, - &hdefer, - IDC_ADDRESS_ID, - &localized_string->sr, - IDC_ADDRESS_TEXT, - &address_str->sr - ); + _r_ctrl_settablestring (context->hwnd, &hdefer, IDC_ADDRESS_ID, &localized_string->sr, IDC_ADDRESS_TEXT, &address_str->sr); // set host string _r_obj_movereference (&localized_string, _r_obj_concatstrings (2, _r_locale_getstring (IDS_HOST), L":")); @@ -1905,14 +1859,7 @@ VOID NTAPI _app_queuenotifyinformation ( if (_r_obj_isstringempty (host_str)) _r_obj_movereference (&host_str, _r_obj_createstring (SZ_EMPTY)); - _r_ctrl_settablestring ( - context->hwnd, - &hdefer, - IDC_HOST_ID, - &localized_string->sr, - IDC_HOST_TEXT, - &host_str->sr - ); + _r_ctrl_settablestring (context->hwnd, &hdefer, IDC_HOST_ID, &localized_string->sr, IDC_HOST_TEXT, &host_str->sr); _r_obj_dereference (localized_string); @@ -2035,25 +1982,14 @@ VOID _app_wufixhelper ( if (image_path) { - if (_r_str_isstartswith2 ( - &image_path->sr, - is_enable ? L"%systemroot%\\system32\\wusvc.exe" : L"%systemroot%\\system32\\svchost.exe", - TRUE)) - { + if (_r_str_isstartswith2 (&image_path->sr, is_enable ? L"%systemroot%\\system32\\wusvc.exe" : L"%systemroot%\\system32\\svchost.exe", TRUE)) is_enabled = TRUE; - } _r_obj_dereference (image_path); } // set new image path - _r_str_printf ( - reg_value, - RTL_NUMBER_OF (reg_value), - L"%%systemroot%%\\system32\\%s -k %s -p", - is_enable ? L"wusvc.exe" : L"svchost.exe", - k_value - ); + _r_str_printf (reg_value, RTL_NUMBER_OF (reg_value), L"%%systemroot%%\\system32\\%s -k %s -p", is_enable ? L"wusvc.exe" : L"svchost.exe", k_value); status = RegSetValueEx ( hkey, @@ -2095,19 +2031,8 @@ VOID _app_wufixenable ( WCHAR buffer2[MAX_PATH]; ULONG_PTR app_hash; - _r_str_printf ( - buffer1, - RTL_NUMBER_OF (buffer1), - L"%s\\svchost.exe", - _r_sys_getsystemdirectory ()->buffer - ); - - _r_str_printf ( - buffer2, - RTL_NUMBER_OF (buffer2), - L"%s\\wusvc.exe", - _r_sys_getsystemdirectory ()->buffer - ); + _r_str_printf (buffer1, RTL_NUMBER_OF (buffer1), L"%s\\svchost.exe", _r_sys_getsystemdirectory ()->buffer); + _r_str_printf (buffer2, RTL_NUMBER_OF (buffer2), L"%s\\wusvc.exe", _r_sys_getsystemdirectory ()->buffer); hsvcmgr = OpenSCManager (NULL, NULL, SC_MANAGER_CONNECT | SERVICE_START | SERVICE_STOP | SERVICE_QUERY_STATUS); diff --git a/src/icons.c b/src/icons.c index b73b73f6..5c4f9699 100644 --- a/src/icons.c +++ b/src/icons.c @@ -223,12 +223,14 @@ VOID _app_icons_loadfromfile ( if (icon_id_ptr) { flags |= SHGFI_SYSICONINDEX; + *icon_id_ptr = 0; } if (hicon_ptr) { flags |= SHGFI_ICON; + *hicon_ptr = NULL; } diff --git a/src/listview.c b/src/listview.c index d2139c37..1a354041 100644 --- a/src/listview.c +++ b/src/listview.c @@ -81,12 +81,10 @@ VOID _app_listview_additems ( PITEM_APP ptr_app; PITEM_RULE ptr_rule; LONG64 current_time; - SIZE_T enum_key; + SIZE_T enum_key = 0; current_time = _r_unixtime_now (); - enum_key = 0; - // add apps _r_queuedlock_acquireshared (&lock_apps); @@ -142,15 +140,7 @@ VOID _app_listview_addappitem ( listview_context = _app_listview_createcontext (ptr_app->app_hash); - _r_listview_additem_ex ( - hwnd, - listview_id, - item_id, - LPSTR_TEXTCALLBACK, - I_IMAGECALLBACK, - I_GROUPIDCALLBACK, - listview_context - ); + _r_listview_additem_ex (hwnd, listview_id, item_id, LPSTR_TEXTCALLBACK, I_IMAGECALLBACK, I_GROUPIDCALLBACK, listview_context); _app_setappiteminfo (hwnd, listview_id, item_id, ptr_app); @@ -180,15 +170,7 @@ VOID _app_listview_addruleitem ( listview_context = _app_listview_createcontext (rule_idx); - _r_listview_additem_ex ( - hwnd, - listview_id, - item_id, - LPSTR_TEXTCALLBACK, - I_IMAGECALLBACK, - I_GROUPIDCALLBACK, - listview_context - ); + _r_listview_additem_ex (hwnd, listview_id, item_id, LPSTR_TEXTCALLBACK, I_IMAGECALLBACK, I_GROUPIDCALLBACK, listview_context); _app_setruleiteminfo (hwnd, listview_id, item_id, ptr_rule, is_forapp); @@ -483,6 +465,7 @@ VOID _app_listview_updateby_id ( if (!(flags & PR_UPDATE_NOSETVIEW)) { _app_listview_setfont (hwnd, listview_id); + _app_listview_setview (hwnd, listview_id); } @@ -506,9 +489,7 @@ VOID _app_listview_updateby_param ( _In_ BOOLEAN is_app ) { - INT listview_id; - - listview_id = 0; + INT listview_id = 0; if (is_app) { @@ -540,11 +521,9 @@ VOID _app_listview_updateitemby_param ( { PITEM_APP ptr_app; PITEM_RULE ptr_rule; - INT listview_id; + INT listview_id = 0; INT item_id; - listview_id = 0; - if (is_app) { _app_getappinfobyhash (lparam, INFO_LISTVIEW_ID, &listview_id, sizeof (listview_id)); diff --git a/src/log.c b/src/log.c index 3d1f76d5..b2dc0bb8 100644 --- a/src/log.c +++ b/src/log.c @@ -166,6 +166,7 @@ VOID _app_logclear ( if (_r_fs_isvalidhandle (hfile)) { _r_fs_clearfile (hfile); + _app_loginitfile (hfile); } @@ -351,11 +352,7 @@ VOID _wfp_logsubscribe ( _FwpmNetEventSubscribe1 = (FWPMNES1)GetProcAddress (hfwpuclnt, "FwpmNetEventSubscribe1"); _FwpmNetEventSubscribe0 = (FWPMNES0)GetProcAddress (hfwpuclnt, "FwpmNetEventSubscribe0"); - if (!_FwpmNetEventSubscribe4 && - !_FwpmNetEventSubscribe3 && - !_FwpmNetEventSubscribe2 && - !_FwpmNetEventSubscribe1 && - !_FwpmNetEventSubscribe0) + if (!_FwpmNetEventSubscribe4 && !_FwpmNetEventSubscribe3 && !_FwpmNetEventSubscribe2 && !_FwpmNetEventSubscribe1 && !_FwpmNetEventSubscribe0) { _r_log (LOG_LEVEL_WARNING, NULL, L"GetProcAddress", GetLastError (), L"FwpmNetEventSubscribe"); @@ -609,6 +606,7 @@ VOID CALLBACK _wfp_logcallback ( if (log->flags & FWPM_NET_EVENT_FLAG_PACKAGE_ID_SET && sid_string) { _r_obj_swapreference (&ptr_log->path, sid_string); + ptr_log->app_hash = _r_str_gethash2 (ptr_log->path, TRUE); } else if (log->flags & FWPM_NET_EVENT_FLAG_APP_ID_SET && log->app_id) @@ -681,6 +679,7 @@ VOID CALLBACK _wfp_logcallback ( if (log->flags & FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET) { ptr_log->protocol = log->protocol; + ptr_log->protocol_str = _app_db_getprotoname (ptr_log->protocol, ptr_log->af, FALSE); } @@ -1322,8 +1321,8 @@ VOID NTAPI _app_logthread ( { HWND hwnd; PITEM_LOG ptr_log; - PITEM_APP ptr_app; - BOOLEAN is_silent; + PITEM_APP ptr_app = NULL; + BOOLEAN is_silent = FALSE; BOOLEAN is_logenabled; BOOLEAN is_loguienabled; BOOLEAN is_notificationenabled; @@ -1335,8 +1334,6 @@ VOID NTAPI _app_logthread ( hwnd = _r_app_gethwnd (); ptr_log = arglist; - ptr_app = NULL; - is_silent = FALSE; // apps collector is_notexist = ptr_log->app_hash && !ptr_log->is_allow && !_app_isappfound (ptr_log->app_hash); diff --git a/src/main.c b/src/main.c index db4755fd..bf674a8a 100644 --- a/src/main.c +++ b/src/main.c @@ -417,7 +417,7 @@ VOID _app_config_apply ( case IDC_USECERTIFICATES_CHK: case IDM_USECERTIFICATES_CHK: { - PITEM_APP ptr_app; + PITEM_APP ptr_app = NULL; SIZE_T enum_key; INT listview_id; @@ -1951,7 +1951,7 @@ VOID _app_tabs_init ( } // add filter group - _r_listview_addgroup (hwnd,listview_id,LV_HIDDEN_GROUP_ID,L"",0,LVGS_HIDDEN | LVGS_NOHEADER | LVGS_COLLAPSED,LVGS_HIDDEN | LVGS_NOHEADER | LVGS_COLLAPSED); + _r_listview_addgroup (hwnd, listview_id, LV_HIDDEN_GROUP_ID, L"", 0, LVGS_HIDDEN | LVGS_NOHEADER | LVGS_COLLAPSED, LVGS_HIDDEN | LVGS_NOHEADER | LVGS_COLLAPSED); _app_listview_setfont (hwnd, listview_id); diff --git a/src/messages.c b/src/messages.c index af2311bc..e314d9e4 100644 --- a/src/messages.c +++ b/src/messages.c @@ -1290,18 +1290,18 @@ LONG_PTR _app_message_custdraw ( PITEM_NETWORK ptr_network; PITEM_LOG ptr_log; PITEM_COLOR ptr_clr; - PR_STRING real_path; - ULONG_PTR app_hash; + PR_STRING real_path = NULL; + ULONG_PTR app_hash = 0; ULONG_PTR index; - COLORREF new_clr; + COLORREF new_clr = 0; ULONG padding; ULONG button_size; INT icon_size_x; INT icon_size_y; INT ctrl_id; LRESULT result; - BOOLEAN is_systemapp; - BOOLEAN is_validconnection; + BOOLEAN is_systemapp = FALSE; + BOOLEAN is_validconnection = FALSE; switch (lpnmlv->nmcd.dwDrawStage) { @@ -1393,14 +1393,8 @@ LONG_PTR _app_message_custdraw ( if (!_r_config_getboolean (L"IsEnableHighlighting", TRUE)) return CDRF_DODEFAULT; - new_clr = 0; - - is_systemapp = FALSE; - is_validconnection = FALSE; - if ((ctrl_id >= IDC_APPS_PROFILE && ctrl_id <= IDC_APPS_UWP) || ctrl_id == IDC_RULE_APPS_ID || ctrl_id == IDC_NETWORK || ctrl_id == IDC_LOG) { - app_hash = 0; index = _app_listview_getcontextcode (lpnmlv->nmcd.lItemlParam); if (ctrl_id == IDC_NETWORK) @@ -1486,9 +1480,7 @@ VOID _app_displayinfoapp_callback ( ) { PR_STRING string; - LONG icon_id; - - icon_id = 0; + LONG icon_id = 0; // set text if (lpnmlv->item.mask & LVIF_TEXT) @@ -1641,6 +1633,7 @@ VOID _app_displayinforule_callback ( if (string) { _r_str_copy (lpnmlv->item.pszText, lpnmlv->item.cchTextMax, string->buffer); + _r_obj_dereference (string); } @@ -1716,6 +1709,7 @@ VOID _app_displayinfonetwork_callback ( if (string) { _r_str_copy (lpnmlv->item.pszText, lpnmlv->item.cchTextMax, string->buffer); + _r_obj_dereference (string); } @@ -1764,6 +1758,7 @@ VOID _app_displayinfonetwork_callback ( if (string) { _r_str_copy (lpnmlv->item.pszText, lpnmlv->item.cchTextMax, string->buffer); + _r_obj_dereference (string); } } @@ -1806,6 +1801,7 @@ VOID _app_displayinfonetwork_callback ( if (string) { _r_str_copy (lpnmlv->item.pszText, lpnmlv->item.cchTextMax, string->buffer); + _r_obj_dereference (string); } } @@ -1878,9 +1874,7 @@ VOID _app_displayinfolog_callback ( ) { PR_STRING string; - LONG icon_id; - - icon_id = 0; + LONG icon_id = 0; // set text if (lpnmlv->item.mask & LVIF_TEXT) @@ -1896,6 +1890,7 @@ VOID _app_displayinfolog_callback ( if (string) { _r_str_copy (lpnmlv->item.pszText, lpnmlv->item.cchTextMax, string->buffer); + _r_obj_dereference (string); } } @@ -1918,6 +1913,7 @@ VOID _app_displayinfolog_callback ( if (string) { _r_str_copy (lpnmlv->item.pszText, lpnmlv->item.cchTextMax, string->buffer); + _r_obj_dereference (string); } @@ -1959,6 +1955,7 @@ VOID _app_displayinfolog_callback ( if (string) { _r_str_copy (lpnmlv->item.pszText, lpnmlv->item.cchTextMax, string->buffer); + _r_obj_dereference (string); } } @@ -2001,6 +1998,7 @@ VOID _app_displayinfolog_callback ( if (string) { _r_str_copy (lpnmlv->item.pszText, lpnmlv->item.cchTextMax, string->buffer); + _r_obj_dereference (string); } } @@ -2029,6 +2027,7 @@ VOID _app_displayinfolog_callback ( if (string) { _r_str_copy (lpnmlv->item.pszText, lpnmlv->item.cchTextMax, string->buffer); + _r_obj_dereference (string); } @@ -2098,8 +2097,7 @@ BOOLEAN _app_message_displayinfo ( return TRUE; } } - else if (listview_id >= IDC_RULES_BLOCKLIST && listview_id <= IDC_RULES_CUSTOM || - listview_id == IDC_APP_RULES_ID) + else if (listview_id >= IDC_RULES_BLOCKLIST && listview_id <= IDC_RULES_CUSTOM || listview_id == IDC_APP_RULES_ID) { ptr_rule = _app_getrulebyid (index); @@ -2373,6 +2371,7 @@ VOID _app_command_logclear ( if (_r_show_confirmmessage (hwnd, NULL, _r_locale_getstring (IDS_QUESTION), L"ConfirmLogClear")) { _app_logclear (current_handle); + _app_logclear_ui (hwnd); } } @@ -2448,18 +2447,16 @@ VOID _app_command_copy ( { static R_STRINGREF divider_sr = PR_STRINGREF_INIT (DIVIDER_COPY); - R_STRINGBUILDER buffer; + R_STRINGBUILDER sb; PR_STRING string; INT listview_id; INT column_count; - INT item_id; + INT item_id = -1; listview_id = _app_listview_getcurrent (hwnd); - item_id = -1; - column_count = _r_listview_getcolumncount (hwnd, listview_id); - _r_obj_initializestringbuilder (&buffer); + _r_obj_initializestringbuilder (&sb); while ((item_id = _r_listview_getnextselected (hwnd, listview_id, item_id)) != -1) { @@ -2471,14 +2468,14 @@ VOID _app_command_copy ( if (string) { - _r_obj_appendstringbuilder2 (&buffer, string); - _r_obj_appendstringbuilder3 (&buffer, ÷r_sr); + _r_obj_appendstringbuilder2 (&sb, string); + _r_obj_appendstringbuilder3 (&sb, ÷r_sr); _r_obj_dereference (string); } } - string = _r_obj_finalstringbuilder (&buffer); + string = _r_obj_finalstringbuilder (&sb); _r_str_trimstring (string, ÷r_sr, 0); } @@ -2488,22 +2485,22 @@ VOID _app_command_copy ( if (string) { - _r_obj_appendstringbuilder2 (&buffer, string); + _r_obj_appendstringbuilder2 (&sb, string); _r_obj_dereference (string); } } - _r_obj_appendstringbuilder (&buffer, SZ_CRLF); + _r_obj_appendstringbuilder (&sb, SZ_CRLF); } - string = _r_obj_finalstringbuilder (&buffer); + string = _r_obj_finalstringbuilder (&sb); _r_str_trimstring2 (string, DIVIDER_TRIM, 0); _r_clipboard_set (hwnd, &string->sr); - _r_obj_deletestringbuilder (&buffer); + _r_obj_deletestringbuilder (&sb); } VOID _app_command_checkbox ( @@ -2517,17 +2514,12 @@ VOID _app_command_checkbox ( PR_LIST rules; ULONG_PTR hash_code; INT listview_id; - INT item_id; - BOOLEAN new_val; - BOOLEAN is_changed; + INT item_id = -1; + BOOLEAN new_val = (ctrl_id == IDM_CHECK); + BOOLEAN is_changed = FALSE; rules = _r_obj_createlist_ex (8, &_r_obj_dereference); - listview_id = _app_listview_getcurrent (hwnd); - item_id = -1; - - new_val = (ctrl_id == IDM_CHECK); - is_changed = FALSE; if (listview_id >= IDC_APPS_PROFILE && listview_id <= IDC_APPS_UWP) { @@ -3166,23 +3158,19 @@ VOID _app_command_purgeunused ( _In_ HWND hwnd ) { - PITEM_APP ptr_app; + PITEM_APP ptr_app = NULL; ULONG_PTR hash_code; - SIZE_T enum_key; + SIZE_T enum_key = 0; PR_HASHTABLE apps_list; PR_ARRAY guids; HANDLE hengine; INT listview_id; INT item_id; - BOOLEAN is_deleted; + BOOLEAN is_deleted = FALSE; apps_list = _r_obj_createhashtable (sizeof (SHORT), NULL); guids = _r_obj_createarray (sizeof (GUID), NULL); - is_deleted = FALSE; - - enum_key = 0; - _r_queuedlock_acquireshared (&lock_apps); while (_r_obj_enumhashtablepointer (apps_table, &ptr_app, &hash_code, &enum_key)) @@ -3248,7 +3236,7 @@ VOID _app_command_purgetimers ( { HANDLE hengine; PR_LIST rules; - PITEM_APP ptr_app; + PITEM_APP ptr_app = NULL; SIZE_T enum_key; if (!_app_istimersactive ()) diff --git a/src/network.c b/src/network.c index 629800f2..a6bcb7b8 100644 --- a/src/network.c +++ b/src/network.c @@ -153,11 +153,8 @@ VOID _app_network_generatetable ( if (tcp4_table->table[i].dwState == MIB_TCP_STATE_ESTAB) { - if (_app_network_isvalidconnection (ptr_network->af, &ptr_network->remote_addr) || - _app_network_isvalidconnection (ptr_network->af, &ptr_network->local_addr)) - { + if (_app_network_isvalidconnection (ptr_network->af, &ptr_network->remote_addr) || _app_network_isvalidconnection (ptr_network->af, &ptr_network->local_addr)) ptr_network->is_connection = TRUE; - } } _r_queuedlock_acquireexclusive (&network_context->lock_network); @@ -231,11 +228,8 @@ VOID _app_network_generatetable ( if (tcp6_table->table[i].dwState == MIB_TCP_STATE_ESTAB) { - if (_app_network_isvalidconnection (ptr_network->af, &ptr_network->remote_addr6) || - _app_network_isvalidconnection (ptr_network->af, &ptr_network->local_addr6)) - { + if (_app_network_isvalidconnection (ptr_network->af, &ptr_network->remote_addr6) || _app_network_isvalidconnection (ptr_network->af, &ptr_network->local_addr6)) ptr_network->is_connection = TRUE; - } } _r_queuedlock_acquireexclusive (&network_context->lock_network); @@ -573,7 +567,7 @@ BOOLEAN _app_network_isapphaveconnection ( ) { PITEM_NETWORK_CONTEXT network_context; - PITEM_NETWORK ptr_network; + PITEM_NETWORK ptr_network = NULL; SIZE_T enum_key; network_context = _app_network_getcontext (); @@ -669,8 +663,7 @@ VOID _app_network_printlistviewtable ( BOOLEAN is_highlight; BOOLEAN is_refresh; - if (_r_config_getboolean (L"IsEnableHighlighting", TRUE) && - _r_config_getboolean_ex (L"IsHighlightConnection", TRUE, L"colors")) + if (_r_config_getboolean (L"IsEnableHighlighting", TRUE) && _r_config_getboolean_ex (L"IsHighlightConnection", TRUE, L"colors")) { is_highlight = TRUE; } diff --git a/src/packages.c b/src/packages.c index a5400927..14e07e50 100644 --- a/src/packages.c +++ b/src/packages.c @@ -35,26 +35,18 @@ VOID _app_package_parsepath ( static R_STRINGREF separator_sr = PR_STRINGREF_INIT (L"\\"); R_XML_LIBRARY xml_library = {0}; - PR_STRING manifest_path; - PR_STRING result_path; + PR_STRING manifest_path = NULL; + PR_STRING result_path = NULL; PR_STRING path_string; R_STRINGREF executable_sr; HRESULT hr; - BOOLEAN is_success; + BOOLEAN is_success = FALSE; path_string = *package_root_folder; - manifest_path = NULL; - result_path = NULL; - - is_success = FALSE; - for (SIZE_T i = 0; i < RTL_NUMBER_OF (appx_names); i++) { - _r_obj_movereference ( - &manifest_path, - _r_obj_concatstringrefs (3, &path_string->sr, &separator_sr, &appx_names[i]) - ); + _r_obj_movereference (&manifest_path, _r_obj_concatstringrefs (3, &path_string->sr, &separator_sr, &appx_names[i])); if (_r_fs_exists (manifest_path->buffer)) { @@ -83,10 +75,7 @@ VOID _app_package_parsepath ( if (!_r_xml_getattribute (&xml_library, L"Executable", &executable_sr)) continue; - _r_obj_movereference ( - &result_path, - _r_obj_concatstringrefs (3, &path_string->sr, &separator_sr, &executable_sr) - ); + _r_obj_movereference (&result_path, _r_obj_concatstringrefs (3, &path_string->sr, &separator_sr, &executable_sr)); if (_r_fs_exists (result_path->buffer)) { @@ -197,21 +186,16 @@ VOID _app_package_getpackagebysid ( _In_ PR_STRING key_name ) { - PR_STRING moniker; - PR_STRING display_name; - PR_STRING real_path; - PR_BYTE package_sid; + PR_STRING moniker = NULL; + PR_STRING display_name = NULL; + PR_STRING real_path = NULL; + PR_BYTE package_sid = NULL; PITEM_APP ptr_app; ULONG_PTR app_hash; LONG64 timestamp; HKEY hsubkey; LONG status; - moniker = NULL; - display_name = NULL; - real_path = NULL; - package_sid = NULL; - // already exists (skip) app_hash = _r_str_gethash2 (key_name, TRUE); @@ -415,17 +399,7 @@ VOID _app_package_getserviceslist () buffer_size = initial_buffer_size; buffer = _r_mem_allocatezero (buffer_size); - if (!EnumServicesStatusEx ( - hsvcmgr, - SC_ENUM_PROCESS_INFO, - service_type, - service_state, - buffer, - buffer_size, - &return_length, - &services_returned, - NULL, - NULL)) + if (!EnumServicesStatusEx (hsvcmgr, SC_ENUM_PROCESS_INFO, service_type, service_state, buffer, buffer_size, &return_length, &services_returned, NULL, NULL)) { if (GetLastError () == ERROR_MORE_DATA) { @@ -434,17 +408,7 @@ VOID _app_package_getserviceslist () buffer = _r_mem_reallocatezero (buffer, buffer_size); // Now query again for services - if (!EnumServicesStatusEx ( - hsvcmgr, - SC_ENUM_PROCESS_INFO, - service_type, - service_state, - buffer, - buffer_size, - &return_length, - &services_returned, - NULL, - NULL)) + if (!EnumServicesStatusEx (hsvcmgr, SC_ENUM_PROCESS_INFO, service_type, service_state, buffer, buffer_size, &return_length, &services_returned, NULL, NULL)) { _r_mem_free (buffer); buffer = NULL; @@ -547,17 +511,7 @@ VOID _app_package_getserviceslist () // the descriptor, you may have to convert it. See MakeSelfRelativeSD for // details. - status = BuildSecurityDescriptor ( - NULL, - NULL, - 1, - &ea, - 0, - NULL, - NULL, - &sd_length, - &service_sd - ); + status = BuildSecurityDescriptor (NULL, NULL, 1, &ea, 0, NULL, NULL, &sd_length, &service_sd); if (status == ERROR_SUCCESS && service_sd) { diff --git a/src/profile.c b/src/profile.c index e6183230..0a587e66 100644 --- a/src/profile.c +++ b/src/profile.c @@ -1497,23 +1497,16 @@ NTSTATUS _app_profile_load_fromresource ( _Out_ PDB_INFORMATION * out_buffer ) { - static R_INITONCE init_once = PR_INITONCE_INIT; - static DB_INFORMATION db_info = {0}; - static NTSTATUS status = STATUS_UNSUCCESSFUL; - + DB_INFORMATION db_info = {0}; R_BYTEREF bytes; + NTSTATUS status; - if (_r_initonce_begin (&init_once)) + status = _app_db_initialize (&db_info, TRUE); + + if (NT_SUCCESS (status)) { if (_r_res_loadresource (_r_sys_getimagebase (), resource_name, RT_RCDATA, &bytes)) - { - status = _app_db_initialize (&db_info, TRUE); - - if (NT_SUCCESS (status)) - status = _app_db_openfrombuffer (&db_info, &bytes, XML_VERSION_CURRENT, XML_TYPE_PROFILE_INTERNAL); - } - - _r_initonce_end (&init_once); + status = _app_db_openfrombuffer (&db_info, &bytes, XML_VERSION_CURRENT, XML_TYPE_PROFILE_INTERNAL); } *out_buffer = &db_info; @@ -1610,7 +1603,7 @@ VOID _app_profile_load_internal ( } _app_db_destroy (&db_info_file); - //_app_db_destroy (&db_info_buffer); + _app_db_destroy (db_info_buffer); } VOID _app_profile_refresh () diff --git a/src/search.c b/src/search.c index 658360a8..d38579be 100644 --- a/src/search.c +++ b/src/search.c @@ -265,18 +265,13 @@ BOOLEAN _app_search_applyfilteritem ( _In_opt_ PR_STRING search_string ) { - PITEM_APP ptr_app; - PITEM_RULE ptr_rule; - PITEM_NETWORK ptr_network; - PITEM_LOG ptr_log; + PITEM_APP ptr_app = NULL; + PITEM_RULE ptr_rule = NULL; + PITEM_NETWORK ptr_network = NULL; + PITEM_LOG ptr_log = NULL; PR_STRING string; BOOLEAN is_changed; - ptr_app = NULL; - ptr_rule = NULL; - ptr_network = NULL; - ptr_log = NULL; - // reset hidden state if (context->is_hidden) { @@ -516,9 +511,7 @@ VOID NTAPI _app_search_applyfilter ( ptr_search = arglist; - if (!((ptr_search->listview_id >= IDC_APPS_PROFILE && ptr_search->listview_id <= IDC_LOG) || - ptr_search->listview_id == IDC_RULE_APPS_ID || - ptr_search->listview_id == IDC_APP_RULES_ID)) + if (!((ptr_search->listview_id >= IDC_APPS_PROFILE && ptr_search->listview_id <= IDC_LOG) || ptr_search->listview_id == IDC_RULE_APPS_ID || ptr_search->listview_id == IDC_APP_RULES_ID)) { _r_mem_free (ptr_search); diff --git a/src/uwp.cpp b/src/uwp.cpp index 1cf2f3a0..a22c8e7f 100644 --- a/src/uwp.cpp +++ b/src/uwp.cpp @@ -24,9 +24,7 @@ BOOLEAN _app_uwp_loadpackageinfo ( winrt::hstring display_name; winrt::hstring path; - package = winrt::Windows::Management::Deployment::PackageManager{}.FindPackage ( - package_name->buffer - ); + package = winrt::Windows::Management::Deployment::PackageManager{}.FindPackage (package_name->buffer); if (!package) return FALSE; @@ -52,21 +50,13 @@ BOOLEAN _app_uwp_loadpackageinfo ( else { if (display_name == L"1527c705-839a-4832-9118-54d4Bd6a0c89") - display_name = L"File Picker";// HACK!!! + display_name = L"File Picker"; // HACK!!! - *name_ptr = _r_obj_createstring_ex ( - display_name.c_str (), - display_name.size () * sizeof (WCHAR) - ); + *name_ptr = _r_obj_createstring_ex (display_name.c_str (), display_name.size () * sizeof (WCHAR)); } if (!path.empty ()) - { - *path_ptr = _r_obj_createstring_ex ( - path.c_str (), - path.size () * sizeof (WCHAR) - ); - } + *path_ptr = _r_obj_createstring_ex (path.c_str (), path.size () * sizeof (WCHAR)); return TRUE; }