From 30d0d24121d399937eeb0a7b214bf5e9ba6b526e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Sat, 16 Aug 2008 23:00:20 +0000 Subject: [PATCH] catch error, zero out variable. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23546 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/ntlm/init_sec_context.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/gssapi/ntlm/init_sec_context.c b/lib/gssapi/ntlm/init_sec_context.c index 4a42f626a..8537d5c63 100644 --- a/lib/gssapi/ntlm/init_sec_context.c +++ b/lib/gssapi/ntlm/init_sec_context.c @@ -107,6 +107,7 @@ get_user_ccache(const ntlm_name name, char **username, struct ntlm_buf *key) krb5_data data; *username = NULL; + krb5_data_zero(&data); key->length = 0; 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, confname, &data); + if (ret) + goto out; key->data = malloc(data.length); - if (key->data == NULL) + if (key->data == NULL) { + ret = ENOMEM; goto out; + } key->length = data.length; memcpy(key->data, data.data, data.length);