]> granicus.if.org Git - linux-pam/commitdiff
Relevant BUGIDs:
authorTomas Mraz <tm@t8m.info>
Wed, 17 Dec 2008 13:49:42 +0000 (13:49 +0000)
committerTomas Mraz <tm@t8m.info>
Wed, 17 Dec 2008 13:49:42 +0000 (13:49 +0000)
Purpose of commit: bugfix

Commit summary:
---------------
2008-12-17  Tomas Mraz <t8m@centrum.cz>

        * modules/pam_tty_audit/pam_tty_audit.c (pam_sm_open_session): Do
        not abort on unknown option. Avoid double free of old_status.
        (pam_sm_close_session): Use LOG_DEBUG for restored status message.

ChangeLog
modules/pam_tty_audit/pam_tty_audit.c

index c6de45826aad6966ac47b7a358e0289e7fc6943d..6f14ba4dbf3310a4eb06d22583b2c294b2e4c584 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-12-17  Tomas Mraz <t8m@centrum.cz>
+
+       * modules/pam_tty_audit/pam_tty_audit.c (pam_sm_open_session): Do
+       not abort on unknown option. Avoid double free of old_status.
+       (pam_sm_close_session): Use LOG_DEBUG for restored status message.
+
 2008-12-12  Thorsten Kukuk  <kukuk@thkukuk.de>
 
        * release version 1.0.90
index d57dbbe3d1a4c6935345eddb9c25c194142e6ccb..080f4950e5376311c4f4473c8bc9df3c3de6a13b 100644 (file)
@@ -240,7 +240,6 @@ pam_sm_open_session (pam_handle_t *pamh, int flags, int argc, const char **argv)
       else
        {
          pam_syslog (pamh, LOG_ERR, "unknown option `%s'", argv[i]);
-         return PAM_SESSION_ERR;
        }
     }
   if (command == CMD_NONE)
@@ -265,7 +264,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags, int argc, const char **argv)
   new_status.enabled = (command == CMD_ENABLE ? 1 : 0);
   if (old_status->enabled == new_status.enabled)
     {
-      free (old_status);
+      open_only = 1; /* to clean up old_status */
       goto ok_fd;
     }
 
@@ -327,7 +326,7 @@ pam_sm_close_session (pam_handle_t *pamh, int flags, int argc,
          return PAM_SESSION_ERR;
        }
       close (fd);
-      pam_syslog (pamh, LOG_ERR, "restored status to %d", status->enabled);
+      pam_syslog (pamh, LOG_DEBUG, "restored status to %d", status->enabled);
     }
   return PAM_SUCCESS;
 }