summaryrefslogtreecommitdiffstats
path: root/winsup/utils/bloda.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/utils/bloda.cc')
-rw-r--r--winsup/utils/bloda.cc38
1 files changed, 4 insertions, 34 deletions
diff --git a/winsup/utils/bloda.cc b/winsup/utils/bloda.cc
index 5c977cec1..c6443184f 100644
--- a/winsup/utils/bloda.cc
+++ b/winsup/utils/bloda.cc
@@ -108,24 +108,13 @@ static struct bad_app_info big_list_of_dodgy_apps[] =
static const size_t num_of_dodgy_apps = sizeof (big_list_of_dodgy_apps) / sizeof (big_list_of_dodgy_apps[0]);
-/* This function is not in the ntdll export lib, so it has
- to be looked up at runtime and called through a pointer. */
-VOID NTAPI (*pRtlFreeUnicodeString)(PUNICODE_STRING) = NULL;
-
-NTSTATUS NTAPI (*pNtQuerySystemInformation) (SYSTEM_INFORMATION_CLASS,
- PVOID, ULONG, PULONG) = NULL;
-
-NTSTATUS NTAPI (*pRtlAnsiStringToUnicodeString) (PUNICODE_STRING, PANSI_STRING,
- BOOLEAN) = NULL;
-
-
static PSYSTEM_PROCESSES
get_process_list (void)
{
int n_procs = 0x100;
PSYSTEM_PROCESSES pslist = (PSYSTEM_PROCESSES) malloc (n_procs * sizeof *pslist);
- while (pNtQuerySystemInformation (SystemProcessesAndThreadsInformation,
+ while (NtQuerySystemInformation (SystemProcessesAndThreadsInformation,
pslist, n_procs * sizeof *pslist, 0) == STATUS_INFO_LENGTH_MISMATCH)
{
n_procs *= 2;
@@ -141,7 +130,7 @@ get_module_list (void)
int modsize = 0x1000;
PSYSTEM_MODULE_INFORMATION modlist = (PSYSTEM_MODULE_INFORMATION) malloc (modsize);
- while (pNtQuerySystemInformation (SystemModuleInformation,
+ while (NtQuerySystemInformation (SystemModuleInformation,
modlist, modsize, NULL) == STATUS_INFO_LENGTH_MISMATCH)
{
modsize *= 2;
@@ -299,14 +288,14 @@ detect_dodgy_app (const struct bad_app_det *det, PSYSTEM_PROCESSES pslist, PSYST
/* Equivalent of RtlInitAnsiString. */
ansiname.Length = ansiname.MaximumLength = strlen (det->param);
ansiname.Buffer = (CHAR *) det->param;
- rv = pRtlAnsiStringToUnicodeString (&unicodename, &ansiname, TRUE);
+ rv = RtlAnsiStringToUnicodeString (&unicodename, &ansiname, TRUE);
if (rv != STATUS_SUCCESS)
{
printf ("Ansi to unicode conversion failure $%08x\n", (unsigned int) rv);
break;
}
found = find_process_in_list (pslist, &unicodename);
- pRtlFreeUnicodeString (&unicodename);
+ RtlFreeUnicodeString (&unicodename);
if (found)
{
dbg_printf (("found!\n"));
@@ -347,25 +336,6 @@ dump_dodgy_apps (int verbose)
size_t i, n_det = 0;
PSYSTEM_PROCESSES pslist;
PSYSTEM_MODULE_INFORMATION modlist;
- HMODULE ntdll;
-
- if ((ntdll = LoadLibrary ("ntdll.dll")) == NULL)
- {
- puts ("Skipping dodgy app check on Win9x/ME.");
- return;
- }
-
-#define GPA(func,rv) \
- if ((p##func = (rv) GetProcAddress (ntdll, #func)) == NULL) \
- { \
- puts ("Can't GetProcAddress() for " #func ", " \
- "skipping dodgy app check."); \
- return; \
- }
- GPA(NtQuerySystemInformation, NTSTATUS NTAPI (*) (SYSTEM_INFORMATION_CLASS,PVOID,ULONG,PULONG));
- GPA(RtlFreeUnicodeString, VOID NTAPI (*)(PUNICODE_STRING));
- GPA(RtlAnsiStringToUnicodeString, NTSTATUS NTAPI (*)(PUNICODE_STRING,PANSI_STRING,BOOLEAN));
-#undef GPA
/* Read system info for detect testing. */
pslist = get_process_list ();