[gnome-builder/gnome-builder-3-40] flatpak: fix null dereference in sdk_extensions list
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/gnome-builder-3-40] flatpak: fix null dereference in sdk_extensions list
- Date: Sat, 24 Apr 2021 23:37:22 +0000 (UTC)
commit 121302b159ffe6c3770e331c2c183d7f2c401b14
Author: Christian Hergert <chergert redhat com>
Date: Sat Apr 24 16:37:00 2021 -0700
flatpak: fix null dereference in sdk_extensions list
src/plugins/flatpak/gbp-flatpak-runtime-provider.c | 33 ++++++++++++----------
1 file changed, 18 insertions(+), 15 deletions(-)
---
diff --git a/src/plugins/flatpak/gbp-flatpak-runtime-provider.c
b/src/plugins/flatpak/gbp-flatpak-runtime-provider.c
index dc92e14d8..49a7211a8 100644
--- a/src/plugins/flatpak/gbp-flatpak-runtime-provider.c
+++ b/src/plugins/flatpak/gbp-flatpak-runtime-provider.c
@@ -841,23 +841,26 @@ gbp_flatpak_runtime_provider_bootstrap_async (IdeRuntimeProvider *provider,
/* Resolve the extensions ASAP so we can show them in the dialog and also
* ensure that we have the right extension for the SDK.
*/
- for (guint i = 0; sdk_extensions[i]; i++)
+ if (sdk_extensions != NULL)
{
- g_autofree char *resolved = gbp_flatpak_application_addin_resolve_extension (addin, sdk_full,
sdk_extensions[i]);
-
- if (resolved == NULL)
- {
- gbp_flatpak_install_dialog_add_runtime (dialog, sdk_extensions[i]);
- }
- else
+ for (guint i = 0; sdk_extensions[i]; i++)
{
- g_autofree char *resolved_id = NULL;
- g_autofree char *resolved_arch = NULL;
- g_autofree char *resolved_branch = NULL;
-
- if (gbp_flatpak_split_id (resolved, &resolved_id, &resolved_arch, &resolved_branch) &&
- !gbp_flatpak_application_addin_has_runtime (addin, resolved_id, resolved_arch,
resolved_branch))
- gbp_flatpak_install_dialog_add_runtime (dialog, resolved);
+ g_autofree char *resolved = gbp_flatpak_application_addin_resolve_extension (addin, sdk_full,
sdk_extensions[i]);
+
+ if (resolved == NULL)
+ {
+ gbp_flatpak_install_dialog_add_runtime (dialog, sdk_extensions[i]);
+ }
+ else
+ {
+ g_autofree char *resolved_id = NULL;
+ g_autofree char *resolved_arch = NULL;
+ g_autofree char *resolved_branch = NULL;
+
+ if (gbp_flatpak_split_id (resolved, &resolved_id, &resolved_arch, &resolved_branch) &&
+ !gbp_flatpak_application_addin_has_runtime (addin, resolved_id, resolved_arch,
resolved_branch))
+ gbp_flatpak_install_dialog_add_runtime (dialog, resolved);
+ }
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]