libotutil: avoid leaking builder memory on error
This swaps the order of a couple of input sanity checks, in order to fix a minor memory leak due to an early-return on the error path. Memory for the result is now allocated only after input has been sanity-checked. It fixes a static analysis warning highlighted by Coverity.
This commit is contained in:
parent
6cb097fb5e
commit
0b1a085692
|
|
@ -760,10 +760,10 @@ ot_variant_builder_info_new (OtVariantBuilder *builder, const GVariantType *type
|
|||
{
|
||||
OtVariantBuilderInfo *info;
|
||||
|
||||
info = (OtVariantBuilderInfo *) g_slice_new0 (OtVariantBuilderInfo);
|
||||
|
||||
g_return_val_if_fail (g_variant_type_is_container (type), NULL);
|
||||
|
||||
info = (OtVariantBuilderInfo *) g_slice_new0 (OtVariantBuilderInfo);
|
||||
|
||||
info->builder = builder;
|
||||
info->type = g_variant_type_copy (type);
|
||||
info->type_info = g_variant_type_info_get (type);
|
||||
|
|
@ -845,10 +845,10 @@ ot_variant_builder_new (const GVariantType *type,
|
|||
{
|
||||
OtVariantBuilder *builder;
|
||||
|
||||
builder = (OtVariantBuilder *) g_slice_new0 (OtVariantBuilder);
|
||||
|
||||
g_return_val_if_fail (g_variant_type_is_container (type), NULL);
|
||||
|
||||
builder = (OtVariantBuilder *) g_slice_new0 (OtVariantBuilder);
|
||||
|
||||
builder->head = ot_variant_builder_info_new (builder, type);
|
||||
builder->ref_count = 1;
|
||||
builder->fd = fd;
|
||||
|
|
|
|||
Loading…
Reference in New Issue