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

X2Go dev team git-admin at x2go.org
Sat Apr 27 13:45:33 CEST 2013


The branch, build-main 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