diff options
author | Ted Gould <ted@gould.cx> | 2012-08-31 13:39:06 +0000 |
---|---|---|
committer | Tarmac <Unknown> | 2012-08-31 13:39:06 +0000 |
commit | 2fc0b3787c96832d82ccce9876b97c8bcbf4c6d6 (patch) | |
tree | f5c0dc7ad6a754dab5185dce89eaa987a2cfa800 /src/freerdp-auth-check.c | |
parent | 0f49e35e32c1ea1ffdd960e28ef917bfa117eced (diff) | |
parent | dbef2c50ce25e1fbb6a517fa1103d953c5c50dd8 (diff) | |
download | libpam-freerdp2-2fc0b3787c96832d82ccce9876b97c8bcbf4c6d6.tar.gz libpam-freerdp2-2fc0b3787c96832d82ccce9876b97c8bcbf4c6d6.tar.bz2 libpam-freerdp2-2fc0b3787c96832d82ccce9876b97c8bcbf4c6d6.zip |
Resolving concerns of the security team. Fixes: https://bugs.launchpad.net/bugs/1039634. Approved by Albert Astals Cid, jenkins.
Diffstat (limited to 'src/freerdp-auth-check.c')
-rw-r--r-- | src/freerdp-auth-check.c | 15 |
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; } |