From c0d30cc7d383c36fba4ef03fd2d0ecff453126e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Sat, 9 May 2009 14:22:05 +0000 Subject: [PATCH] handle out of memory git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@25206 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/kerberos5.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index 4cc4886c8..f7a5c1426 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -1261,6 +1261,10 @@ _kdc_as_rep(krb5_context context, method_data.val = NULL; ret = realloc_method_data(&method_data); + if (ret) { + free_METHOD_DATA(&method_data); + goto out; + } pa = &method_data.val[method_data.len-1]; pa->padata_type = KRB5_PADATA_ENC_TIMESTAMP; pa->padata_value.length = 0; @@ -1268,12 +1272,20 @@ _kdc_as_rep(krb5_context context, #ifdef PKINIT ret = realloc_method_data(&method_data); + if (ret) { + free_METHOD_DATA(&method_data); + goto out; + } pa = &method_data.val[method_data.len-1]; pa->padata_type = KRB5_PADATA_PK_AS_REQ; pa->padata_value.length = 0; pa->padata_value.data = NULL; ret = realloc_method_data(&method_data); + if (ret) { + free_METHOD_DATA(&method_data); + goto out; + } pa = &method_data.val[method_data.len-1]; pa->padata_type = KRB5_PADATA_PK_AS_REQ_WIN; pa->padata_value.length = 0;