diff options
author | Luca BRUNO <luca.bruno@coreos.com> | 2022-01-20 10:54:30 +0000 |
---|---|---|
committer | Luca BRUNO <luca.bruno@coreos.com> | 2022-01-20 10:54:30 +0000 |
commit | da72c245f4b730d2ff41db996ec14a7f21f097e9 (patch) | |
tree | d0305e1bff5a09ce8e0150c0aba86af313a983a0 /src/ostree/ot-builtin-commit.c | |
parent | 6230b3eeab52b132d5b7e4e164380389325db040 (diff) | |
download | ostree-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.c | 9 |
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; |