summaryrefslogtreecommitdiff
path: root/src/ostree/ot-builtin-commit.c
diff options
context:
space:
mode:
authorLuca BRUNO <luca.bruno@coreos.com>2022-01-20 10:54:30 +0000
committerLuca BRUNO <luca.bruno@coreos.com>2022-01-20 10:54:30 +0000
commitda72c245f4b730d2ff41db996ec14a7f21f097e9 (patch)
treed0305e1bff5a09ce8e0150c0aba86af313a983a0 /src/ostree/ot-builtin-commit.c
parent6230b3eeab52b132d5b7e4e164380389325db040 (diff)
downloadostree-da72c245f4b730d2ff41db996ec14a7f21f097e9.tar.gz
lib/commit: reject empty metadata keys
This adds one more check to the metadata validation logic in order to reject empty metadata keys.
Diffstat (limited to 'src/ostree/ot-builtin-commit.c')
-rw-r--r--src/ostree/ot-builtin-commit.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ostree/ot-builtin-commit.c b/src/ostree/ot-builtin-commit.c
index 845013ed..c43f9b3c 100644
--- a/src/ostree/ot-builtin-commit.c
+++ b/src/ostree/ot-builtin-commit.c
@@ -335,17 +335,18 @@ parse_keyvalue_strings (GVariantBuilder *builder,
if (!eq)
return glnx_throw (error, "Missing '=' in KEY=VALUE metadata '%s'", s);
g_autofree char *key = g_strndup (s, eq - s);
+ const char *value = eq + 1;
if (is_gvariant_print)
{
- g_autoptr(GVariant) value = g_variant_parse (NULL, eq + 1, NULL, NULL, error);
- if (!value)
+ g_autoptr(GVariant) variant = g_variant_parse (NULL, value, NULL, NULL, error);
+ if (!variant)
return glnx_prefix_error (error, "Parsing %s", s);
- g_variant_builder_add (builder, "{sv}", key, value);
+ g_variant_builder_add (builder, "{sv}", key, variant);
}
else
g_variant_builder_add (builder, "{sv}", key,
- g_variant_new_string (eq + 1));
+ g_variant_new_string (value));
}
return TRUE;