populate_commit_data_cache: Don't leak a floating GVariant

var_variant_dup_to_gvariant() returns a floating GVariant, and
g_variant_get_child_value() won't sink it, so we need to free it.

Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
Simon McVittie
2024-02-15 00:11:51 +00:00
parent fd56fb85f8
commit a96834bb32

View File

@@ -3300,7 +3300,7 @@ populate_commit_data_cache (OstreeRepo *repo,
strcmp (m_key, "xa.data") != 0)
{
VarVariantRef v = var_metadata_entry_get_value (m);
GVariant *vv = var_variant_dup_to_gvariant (v);
g_autoptr(GVariant) vv = g_variant_ref_sink (var_variant_dup_to_gvariant (v));
g_autoptr(GVariant) child = g_variant_get_child_value (vv, 0);
g_variant_builder_add (&sparse_builder, "{sv}", m_key, child);
has_sparse = TRUE;