From 7ce3eda5b54fe49de33309ca3282bc1fd176d812 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 21 Dec 2018 16:07:11 -0500 Subject: [PATCH] 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 --- app/flatpak-builtins-build-finish.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/flatpak-builtins-build-finish.c b/app/flatpak-builtins-build-finish.c index d4b5aa29..2ba21cdc 100644 --- a/app/flatpak-builtins-build-finish.c +++ b/app/flatpak-builtins-build-finish.c @@ -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)