r20254@cathode-dark-space: jander | 2008-03-04 15:27:19 -0500
ticket: 5897
tags: pullup
Fix memory leak by delaying instantiation of lid until it's needed.
ticket: 5897
version_fixed: 1.6.4
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-6@20258
dc483132-0cff-0310-8789-
dd5450dbe970
krb5_error_code err;
krb5_mcc_data *d;
- lid = (krb5_ccache) malloc(sizeof(struct _krb5_ccache));
- if (lid == NULL)
- return KRB5_CC_NOMEM;
-
- lid->ops = &krb5_mcc_ops;
-
err = k5_mutex_lock(&krb5int_mcc_mutex);
if (err)
return err;
err = new_mcc_data(residual, &d);
if (err) {
k5_mutex_unlock(&krb5int_mcc_mutex);
- krb5_xfree(lid);
return err;
}
}
k5_mutex_unlock(&krb5int_mcc_mutex);
+
+ lid = (krb5_ccache) malloc(sizeof(struct _krb5_ccache));
+ if (lid == NULL)
+ return KRB5_CC_NOMEM;
+
+ lid->ops = &krb5_mcc_ops;
lid->data = d;
*id = lid;
return KRB5_OK;