build-finish: Validate --require-version argument

Use the same function that flatpak uses to parse this
field from metadata to ensure that we don't accept
invalid data.

Closes: #2498
Approved by: matthiasclasen
This commit is contained in:
Matthias Clasen
2018-12-21 16:07:11 -05:00
committed by Atomic Bot
parent f39b5a2795
commit 7ce3eda5b5

View File

@@ -493,7 +493,17 @@ update_metadata (GFile *base, FlatpakContext *arg_context, gboolean is_runtime,
}
if (opt_require_version)
g_key_file_set_string (keyfile, group, "required-flatpak", opt_require_version);
{
g_autoptr(GError) local_error = NULL;
g_key_file_set_string (keyfile, group, "required-flatpak", opt_require_version);
if (!flatpak_check_required_version ("test", keyfile, &local_error) &&
g_error_matches (local_error, FLATPAK_ERROR, FLATPAK_ERROR_INVALID_DATA))
{
flatpak_fail (error, _("Invalid --require-version argument: %s"), opt_require_version);
goto out;
}
}
app_context = flatpak_context_new ();
if (inherited_context)