[X2Go-Commits] libpam-x2go.git - x2gosession (branch) updated: d009da6cd677f106448a6692687a4d123b170dee

X2Go dev team git-admin at x2go.org
Wed Apr 24 18:47:26 CEST 2013


The branch, x2gosession has been updated
       via  d009da6cd677f106448a6692687a4d123b170dee (commit)
      from  5cabdb8b73427e5a95122d261f7d4243637d8e4d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 src/pam-freerdp.c |   21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

The diff of changes is:
diff --git a/src/pam-freerdp.c b/src/pam-freerdp.c
index 0e5c3fa..43b16d5 100644
--- a/src/pam-freerdp.c
+++ b/src/pam-freerdp.c
@@ -110,6 +110,18 @@ get_item (pam_handle_t * pamh, int type)
 	char * promptval = responses->resp;
 	free(responses);
 
+	/* If we didn't get anything, just move on */
+	if (promptval == NULL) {
+		return NULL;
+	}
+
+	if (type == PAM_AUTHTOK) {
+		if (mlock(promptval, strlen(promptval) + 1) != 0) {
+			free(promptval);
+			return NULL;
+		}
+	}
+
 	if (type == PAM_RHOST) {
 		char * subloc = strstr(promptval, "://");
 		if (subloc != NULL) {
@@ -146,11 +158,11 @@ get_item (pam_handle_t * pamh, int type)
 			/* We also save the password globally if we've got one */
 			if (global_password != NULL) {
 				memset(global_password, 0, strlen(global_password));
-				munlock(global_password, strlen(global_password));
+				munlock(global_password, strlen(global_password) + 1);
 				free(global_password);
 			}
 			global_password = strdup(promptval);
-			if (mlock(global_password, strlen(global_password)) != 0) {
+			if (mlock(global_password, strlen(global_password) + 1) != 0) {
 				/* Woah, can't lock it.  Can't keep it. */
 				free(global_password);
 				global_password = NULL;
@@ -159,6 +171,11 @@ get_item (pam_handle_t * pamh, int type)
 			}
 		}
 
+		if (type == PAM_AUTHTOK) {
+			memset(promptval, 0, strlen(promptval) + 1);
+			munlock(promptval, strlen(promptval) + 1);
+		}
+
 		free(promptval);
 	}
 


hooks/post-receive
-- 
libpam-x2go.git (Remote login session via X2Go (PAM module))

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "libpam-x2go.git" (Remote login session via X2Go (PAM module)).




More information about the x2go-commits mailing list