File pam_ssh-double-free.patch of Package pam_ssh.import4422

Index: pam_ssh-1.97/pam_ssh.c
===================================================================
--- pam_ssh-1.97.orig/pam_ssh.c
+++ pam_ssh-1.97/pam_ssh.c
@@ -627,7 +627,7 @@ pam_sm_open_session(pam_handle_t *pamh,
              * than the file creation time */
             if (retval = stat(per_agent, &stat_buf)) {
                 pam_ssh_log(LOG_ERR, "stat() failed on %s", per_agent);
-                free(per_agent);
+                pam_set_data(pamh, "ssh_agent_env_agent", NULL, NULL);
                 fclose(env_read);
                 return retval;
             }
@@ -646,7 +646,7 @@ pam_sm_open_session(pam_handle_t *pamh,
 	if (start_agent) {
                 if ((env_write = open(per_agent, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR)) < 0) {
                         pam_ssh_log(LOG_ERR, "can't write to %s", per_agent);
-                        free(per_agent);
+                        pam_set_data(pamh, "ssh_agent_env_agent", NULL, NULL);
                         openpam_restore_cred(pamh);
                         return PAM_SERVICE_ERR;
                 }