aboutsummaryrefslogtreecommitdiff
path: root/src/freerdp-auth-check.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/freerdp-auth-check.c')
-rw-r--r--src/freerdp-auth-check.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/freerdp-auth-check.c b/src/freerdp-auth-check.c
index d50833b..e5e9d13 100644
--- a/src/freerdp-auth-check.c
+++ b/src/freerdp-auth-check.c
@@ -60,6 +60,10 @@ main (int argc, char * argv[])
return -1;
}
+ if (mlock(password, sizeof(password)) != 0) {
+ return -1;
+ }
+
freerdp_channels_global_init();
freerdp * instance = freerdp_new();
@@ -77,7 +81,6 @@ main (int argc, char * argv[])
instance->settings->username = argv[2];
instance->settings->domain = argv[3];
instance->settings->password = password;
- instance->settings->ignore_certificate = true;
char * colonloc = strstr(argv[1], ":");
if (colonloc != NULL) {
@@ -88,10 +91,14 @@ main (int argc, char * argv[])
instance->settings->port = strtoul(colonloc, NULL, 10);
}
+ int retval = -1;
if (freerdp_connect(instance)) {
freerdp_disconnect(instance);
- return 0;
- } else {
- return -1;
+ retval = 0;
}
+
+ memset(password, 0, sizeof(password));
+ munlock(password, sizeof(password));
+
+ return retval;
}