Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/nslcd/myldap.c
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2014-05-14 21:29:38 +0200
committerArthur de Jong <arthur@arthurdejong.org>2014-05-17 00:03:46 +0200
commit3d29861e86e2044dc4dfbf6f2615c3e567c7a4f6 (patch)
treea69faa3574b22281d2e1b2f913003a84116c547d /nslcd/myldap.c
parentaa1d81059227782b1660c742b9f9d961b43aaf71 (diff)
Clear buffers before free-ing
This clears most buffers that may hold credentials at one point before free()ing the memory.
Diffstat (limited to 'nslcd/myldap.c')
-rw-r--r--nslcd/myldap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/nslcd/myldap.c b/nslcd/myldap.c
index 78968ae..7babe0e 100644
--- a/nslcd/myldap.c
+++ b/nslcd/myldap.c
@@ -318,6 +318,7 @@ static MYLDAP_SESSION *myldap_session_new(void)
for (i = 0; i < MAX_SEARCHES_IN_SESSION; i++)
session->searches[i] = NULL;
session->binddn[0] = '\0';
+ memset(session->bindpw, 0, sizeof(session->bindpw));
session->bindpw[0] = '\0';
session->policy_response = NSLCD_PAM_SUCCESS;
session->policy_message[0] = '\0';
@@ -1195,6 +1196,7 @@ void myldap_session_close(MYLDAP_SESSION *session)
/* close any open connections */
do_close(session);
/* free allocated memory */
+ memset(session->bindpw, 0, sizeof(session->bindpw));
free(session);
}