]> granicus.if.org Git - linux-pam/commitdiff
Relevant BUGIDs: 483959
authorAndrew G. Morgan <morgan@kernel.org>
Tue, 27 Nov 2001 05:15:37 +0000 (05:15 +0000)
committerAndrew G. Morgan <morgan@kernel.org>
Tue, 27 Nov 2001 05:15:37 +0000 (05:15 +0000)
Purpose of commit: fix memory leak

Commit summary:
---------------
Fernando Trias pointed out a silly memory leak in pam_unix.so. It looks
like some allocated memory that is simply not needed for anything.

CHANGELOG
modules/pam_unix/pam_unix_auth.c

index 9e342d8584f7142f6b0f3affc422d9a6b6b5b4fb..65c4d9bf6020eb7ab8dac9b9e6a218d6e6858716 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -49,6 +49,8 @@ bug report - outstanding bugs are listed here:
 0.76: please submit patches for this section with actual code/doc
       patches!
 
+* pam_unix: fixed bizarre memory leak pointed out by Fernando Trias
+  (Bug 483959 - agmorgan)
 * misc string comparison length checking changes from Nalin. Modules
   touched, pam_cracklib, pam_listfile, pam_unix, pam_wheel (Bug 476947 -
   agmorgan)
index f08ea515b4d483e6b882a6fd719235b529888c41..f55ae4693e2c465d8aeb14581537f1992423a850 100644 (file)
@@ -82,7 +82,7 @@
 
 #define AUTH_RETURN                                            \
 {                                                              \
-       if (on(UNIX_LIKE_AUTH, ctrl) && ret_data) {             \
+       if (on(UNIX_LIKE_AUTH, ctrl)) {                         \
                D(("recording return code for next time [%d]",  \
                                        retval));               \
                pam_set_data(pamh, "unix_setcred_return",       \
@@ -96,17 +96,13 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t * pamh, int flags
                                   ,int argc, const char **argv)
 {
        unsigned int ctrl;
-       int retval, *ret_data = NULL;
+       int retval;
        const char *name, *p;
 
        D(("called."));
 
        ctrl = _set_ctrl(pamh, flags, NULL, argc, argv);
 
-       /* Get a few bytes so we can pass our return value to
-          pam_sm_setcred(). */
-       ret_data = malloc(sizeof(int));
-
        /* get the user'name' */
 
        retval = pam_get_user(pamh, &name, "login: ");