diff options
author | nectar <nectar@FreeBSD.org> | 2002-11-13 17:46:15 +0000 |
---|---|---|
committer | nectar <nectar@FreeBSD.org> | 2002-11-13 17:46:15 +0000 |
commit | 96e5cda4e08d953b03d86c6729eb8a36e0d985e6 (patch) | |
tree | 1c970d5834fcdb3c152c81aab40d28a87cdb3815 /lib/libc | |
parent | c4c5e2af2a341a73bfc9368c14b4499c4d5a4a3c (diff) | |
download | FreeBSD-src-96e5cda4e08d953b03d86c6729eb8a36e0d985e6.zip FreeBSD-src-96e5cda4e08d953b03d86c6729eb8a36e0d985e6.tar.gz |
The pam_krb5 module stored a reference to a krb5_ccache structure as
PAM module state (created in pam_sm_authenticate and referenced later
in pam_sm_setcred and pam_sm_acct_mgmt). However, the krb5_ccache
structure shares some data members with the krb5_context structure
that was used in its creation. Since a new krb5_context is created
and destroyed at each PAM entry point, this inevitably caused the
krb5_ccache structure to reference free'd memory.
Now instead of storing a pointer to the krb5_ccache structure,
we store the name of the cache (e.g. `MEMORY:0x123CACHE') in
pam_sm_authenticate, and resolve the name in the other entry points.
This bug was uncovered by phkmalloc's free'd memory scrubbing.
Approved by: re (jhb)
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions