- Timestamp:
- Feb 2, 2002, 5:58:58 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/pam_end.c
r16 r18 51 51 int 52 52 pam_end(pam_handle_t *pamh, 53 int status __unused)53 int status) 54 54 { 55 55 pam_chain_t *module; 56 pam_data_t *dp; 56 57 int i; 57 58 58 59 if (pamh == NULL) 59 60 return (PAM_SYSTEM_ERR); 61 62 /* clear module data */ 63 while ((dp = pamh->module_data) != NULL) { 64 if (dp->cleanup) 65 (dp->cleanup)(pamh, dp->data, status); 66 pamh->module_data = dp->next; 67 free(dp->name); 68 free(dp); 69 } 70 71 /* clear environment */ 72 while (pamh->env_count) 73 free(pamh->env[--pamh->env_count]); 74 free(pamh->env); 60 75 61 76 /* clear chains */ … … 73 88 /* clear items */ 74 89 for (i = 0; i < PAM_NUM_ITEMS; ++i) 75 free(pamh->item[i]);90 pam_set_item(pamh, i, NULL); 76 91 77 92 free(pamh);
Note: See TracChangeset
for help on using the changeset viewer.