catch error, zero out variable.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23546 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -107,6 +107,7 @@ get_user_ccache(const ntlm_name name, char **username, struct ntlm_buf *key)
|
|||||||
krb5_data data;
|
krb5_data data;
|
||||||
|
|
||||||
*username = NULL;
|
*username = NULL;
|
||||||
|
krb5_data_zero(&data);
|
||||||
key->length = 0;
|
key->length = 0;
|
||||||
key->data = NULL;
|
key->data = NULL;
|
||||||
|
|
||||||
@@ -138,10 +139,14 @@ get_user_ccache(const ntlm_name name, char **username, struct ntlm_buf *key)
|
|||||||
|
|
||||||
ret = krb5_cc_get_config(context, id, NULL,
|
ret = krb5_cc_get_config(context, id, NULL,
|
||||||
confname, &data);
|
confname, &data);
|
||||||
|
if (ret)
|
||||||
|
goto out;
|
||||||
|
|
||||||
key->data = malloc(data.length);
|
key->data = malloc(data.length);
|
||||||
if (key->data == NULL)
|
if (key->data == NULL) {
|
||||||
|
ret = ENOMEM;
|
||||||
goto out;
|
goto out;
|
||||||
|
}
|
||||||
key->length = data.length;
|
key->length = data.length;
|
||||||
memcpy(key->data, data.data, data.length);
|
memcpy(key->data, data.data, data.length);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user