Catch memory allocation failures [CID-61]
This commit is contained in:
@@ -322,15 +322,23 @@ _kadm5_unmarshal_params(krb5_context context,
|
|||||||
krb5_data *in,
|
krb5_data *in,
|
||||||
kadm5_config_params *params)
|
kadm5_config_params *params)
|
||||||
{
|
{
|
||||||
krb5_storage *sp = krb5_storage_from_data(in);
|
krb5_error_code ret;
|
||||||
|
krb5_storage *sp;
|
||||||
int32_t mask;
|
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;
|
params->mask = mask;
|
||||||
|
|
||||||
if(params->mask & KADM5_CONFIG_REALM)
|
if(params->mask & KADM5_CONFIG_REALM)
|
||||||
krb5_ret_string(sp, ¶ms->realm);
|
ret = krb5_ret_string(sp, ¶ms->realm);
|
||||||
|
out:
|
||||||
krb5_storage_free(sp);
|
krb5_storage_free(sp);
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user