File pam_mount-1.27-fix-double-free.dif of Package pam_mount

Index: pam_mount-1.27/src/mount.c
===================================================================
--- pam_mount-1.27.orig/src/mount.c
+++ pam_mount-1.27/src/mount.c
@@ -462,7 +462,7 @@ static void mount_set_fsck(const struct
  * @config:	current config
  * @vpt:	volume descriptor
  * @vinfo:
- * @password:	login password
+ * @password:	login password (may be %NULL)
  *
  * Returns zero on error, positive non-zero for success.
  */
@@ -476,7 +476,6 @@ int do_mount(const struct config *config
 	int ret;
 
 	assert(vinfo != NULL);
-	assert(password != NULL);
 
 	ret = pmt_already_mounted(config, vpt, vinfo);
 	if (ret < 0) {
Index: pam_mount-1.27/src/pam_mount.c
===================================================================
--- pam_mount-1.27.orig/src/pam_mount.c
+++ pam_mount-1.27/src/pam_mount.c
@@ -526,8 +526,6 @@ PAM_EXTERN EXPORT_SYMBOL int pam_sm_open
 		 * e.g. bind mounts and networked/unencrypted volumes.
 		 */
 	}
-	if (system_authtok == NULL)
-		system_authtok = xstrdup("");
 
 	misc_dump_id("Session open");
 
@@ -550,10 +548,6 @@ PAM_EXTERN EXPORT_SYMBOL int pam_sm_open
 			ret = PAM_SERVICE_ERR;
 		}
 	}
-	if (system_authtok != NULL) {
-		memset(system_authtok, 0, strlen(system_authtok));
-		free(system_authtok);
-	}
 	modify_pm_count(&Config, Config.user, "1");
 	envpath_restore();
 	if (getuid() == 0)
openSUSE Build Service is sponsored by