From e184e053ddd27bae7738af1982e4cbbf2a89a816 Mon Sep 17 00:00:00 2001 From: Love Hornquist Astrand Date: Thu, 30 Jul 2009 12:56:21 +0200 Subject: [PATCH] Catch memory allocation failures [CID-61] --- lib/kadm5/marshall.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/kadm5/marshall.c b/lib/kadm5/marshall.c index 96111b441..ad2aa3e97 100644 --- a/lib/kadm5/marshall.c +++ b/lib/kadm5/marshall.c @@ -322,15 +322,23 @@ _kadm5_unmarshal_params(krb5_context context, krb5_data *in, kadm5_config_params *params) { - krb5_storage *sp = krb5_storage_from_data(in); + krb5_error_code ret; + krb5_storage *sp; int32_t mask; - krb5_ret_int32(sp, &mask); + sp = krb5_storage_from_data(in); + if (sp == NULL) + return ENOMEM; + + ret = krb5_ret_int32(sp, &mask); + if (ret) + goto out; params->mask = mask; if(params->mask & KADM5_CONFIG_REALM) - krb5_ret_string(sp, ¶ms->realm); + ret = krb5_ret_string(sp, ¶ms->realm); + out: krb5_storage_free(sp); - return 0; + return ret; }