diff --git a/src/libostree/ostree-repo-commit.c b/src/libostree/ostree-repo-commit.c index 9d8bf8bd..941b08f0 100644 --- a/src/libostree/ostree-repo-commit.c +++ b/src/libostree/ostree-repo-commit.c @@ -369,14 +369,8 @@ add_size_index_to_metadata (OstreeRepo *self, gboolean ret = FALSE; gs_unref_variant_builder GVariantBuilder *builder = NULL; - if (original_metadata) - { - builder = ot_util_variant_builder_from_variant (original_metadata, G_VARIANT_TYPE ("a{sv}")); - } - else - { - builder = g_variant_builder_new (G_VARIANT_TYPE ("a{sv}")); - } + /* original_metadata may be NULL */ + builder = ot_util_variant_builder_from_variant (original_metadata, G_VARIANT_TYPE ("a{sv}")); if (self->object_sizes && g_hash_table_size (self->object_sizes) > 0) @@ -2189,11 +2183,9 @@ get_modified_xattrs (OstreeRepo *self, { GVariantBuilder *builder; - if (ret_xattrs) - builder = ot_util_variant_builder_from_variant (ret_xattrs, - G_VARIANT_TYPE ("a(ayay)")); - else - builder = g_variant_builder_new (G_VARIANT_TYPE ("a(ayay)")); + /* ret_xattrs may be NULL */ + builder = ot_util_variant_builder_from_variant (ret_xattrs, + G_VARIANT_TYPE ("a(ayay)")); g_variant_builder_add_value (builder, g_variant_new ("(@ay@ay)", diff --git a/src/libotutil/ot-variant-utils.c b/src/libotutil/ot-variant-utils.c index 5a8ca994..28fd49b2 100644 --- a/src/libotutil/ot-variant-utils.c +++ b/src/libotutil/ot-variant-utils.c @@ -260,16 +260,20 @@ ot_util_variant_builder_from_variant (GVariant *variant, const GVariantType *type) { GVariantBuilder *builder = NULL; - gint i, n; builder = g_variant_builder_new (type); - n = g_variant_n_children (variant); - for (i = 0; i < n; i++) + if (variant != NULL) { - GVariant *child = g_variant_get_child_value (variant, i); - g_variant_builder_add_value (builder, child); - g_variant_unref (child); + gint i, n; + + n = g_variant_n_children (variant); + for (i = 0; i < n; i++) + { + GVariant *child = g_variant_get_child_value (variant, i); + g_variant_builder_add_value (builder, child); + g_variant_unref (child); + } } return builder;