summaryrefslogtreecommitdiffstats
path: root/source/nsswitch/pam_winbind.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2006-04-08 17:25:31 +0000
committerGerald Carter <jerry@samba.org>2006-04-08 17:25:31 +0000
commit391c84d8400aad583488720adfddfa346bd5b4f0 (patch)
tree65bd30622b2ee4a0f9568624dfb764c06508e217 /source/nsswitch/pam_winbind.c
parentf3a6738ac5a159a1146bd550b6bec73e80f4ae50 (diff)
downloadsamba-391c84d8400aad583488720adfddfa346bd5b4f0.tar.gz
samba-391c84d8400aad583488720adfddfa346bd5b4f0.tar.xz
samba-391c84d8400aad583488720adfddfa346bd5b4f0.zip
r15003: patch based on code from Arkady Glabek <aglabek@centeris.com> to ensure that global memory is freed when unloading pam_winbind.so (needs more testing on non-linux platforms)
Diffstat (limited to 'source/nsswitch/pam_winbind.c')
-rw-r--r--source/nsswitch/pam_winbind.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/nsswitch/pam_winbind.c b/source/nsswitch/pam_winbind.c
index d78d65287ed..2db10b69a8b 100644
--- a/source/nsswitch/pam_winbind.c
+++ b/source/nsswitch/pam_winbind.c
@@ -17,6 +17,16 @@
#define MAX_PASSWD_TRIES 3
+/*******************************************************************
+ Need this destructor to free global memory when the shared library
+ is unloaded
+*******************************************************************/
+
+void __attribute__ ((destructor)) _fini_pam_winbind(void)
+{
+ gfree_all();
+}
+
/* some syslogging */
static void _pam_log(int err, const char *format, ...)
{