@@ -7,7 +7,8 @@ bool app_list::populate_list(bool x86, const filters_t & filters) {
77 if ( ! EnumProcesses (processes, sizeof (processes), & needed))
88 return false ;
99
10- for (DWORD i = 0 ; i < (needed / sizeof (DWORD)); i++) {
10+ size_t count = needed / sizeof (DWORD);
11+ for (DWORD i = 0 ; i < count; i++) {
1112 app_info info;
1213 info.id = processes[i];
1314 if (this ->get_app_info (info, filters, x86, true ))
@@ -58,8 +59,9 @@ bool app_list::get_app_info(app_info & info, const filters_t & filters, bool x86
5859 if (query_name && EnumProcessModulesEx (
5960 hprocess, hmodules, sizeof (hmodules), & needed, x86?LIST_MODULES_32BIT:LIST_MODULES_64BIT)) {
6061 WCHAR name[MAX_PATH] = {0 };
61- std::wstring exename;
62- if (GetModuleBaseName (hprocess, hmodules[0 ], name, sizeof (name)/sizeof (WCHAR))) {
62+ std::wstring exename;
63+ auto name_size = sizeof (name) / sizeof (WCHAR);
64+ if (GetModuleBaseName (hprocess, hmodules[0 ], name, name_size)) {
6365 _wcslwr (name);
6466 exename = name;
6567
@@ -70,9 +72,10 @@ bool app_list::get_app_info(app_info & info, const filters_t & filters, bool x86
7072 return true ;
7173 }
7274
73- for (DWORD j = 0 ; j < (needed / sizeof (HMODULE)); j++) {
75+ size_t needed_count = needed / sizeof (HMODULE);
76+ for (DWORD j = 0 ; j < needed_count; j++) {
7477 WCHAR name[MAX_PATH] = {0 };
75- if (GetModuleBaseName (hprocess, hmodules[j], name, sizeof (name)/ sizeof (WCHAR) )) {
78+ if (GetModuleBaseName (hprocess, hmodules[j], name, name_size )) {
7679 _wcslwr (name);
7780 for (filters_t ::const_iterator it = filters.begin (); it != filters.end (); it++)
7881 if ( * it == name) {
0 commit comments