aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2010-09-17 15:52:23 +0000
committerGreg Hudson <ghudson@mit.edu>2010-09-17 15:52:23 +0000
commit5caa3b093619c89f0ea6ff50c2cd5b8e9469502c (patch)
treeccbd11e43bff7e094104bc899d0eb885789c99ab
parent401c54d3d482f5fbd3847593ab994604e909172e (diff)
downloadkrb5-5caa3b093619c89f0ea6ff50c2cd5b8e9469502c.zip
krb5-5caa3b093619c89f0ea6ff50c2cd5b8e9469502c.tar.gz
krb5-5caa3b093619c89f0ea6ff50c2cd5b8e9469502c.tar.bz2
In kinit_kdb_init(), ensure that we don't return an error with the
old, freed value of *pcontext still there--that would result in a double free. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24326 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/clients/kinit/kinit_kdb.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/clients/kinit/kinit_kdb.c b/src/clients/kinit/kinit_kdb.c
index f2011a6..7a2c2b4 100644
--- a/src/clients/kinit/kinit_kdb.c
+++ b/src/clients/kinit/kinit_kdb.c
@@ -52,8 +52,10 @@ kinit_kdb_init(krb5_context *pcontext, char *realm)
kadm5_config_params config;
krb5_error_code retval = 0;
- if (*pcontext)
+ if (*pcontext) {
krb5_free_context(*pcontext);
+ *pcontext = NULL;
+ }
memset(&config, 0, sizeof config);
retval = kadm5_init_krb5_context(pcontext);
if (retval)