[gnome-builder] flatpak: don't call json_node_* methods on NULL nodes



commit f0c4ba73628d51058cb6c9890e67d43d2b2f6b3b
Author: Cosimo Cecchi <cosimo endlessm com>
Date:   Wed Dec 28 15:31:19 2016 -0800

    flatpak: don't call json_node_* methods on NULL nodes
    
    These nodes are optional, so treat them as such.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=779976

 plugins/flatpak/gbp-flatpak-configuration.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/plugins/flatpak/gbp-flatpak-configuration.c b/plugins/flatpak/gbp-flatpak-configuration.c
index a240f08..1080890 100644
--- a/plugins/flatpak/gbp-flatpak-configuration.c
+++ b/plugins/flatpak/gbp-flatpak-configuration.c
@@ -210,10 +210,10 @@ gbp_flatpak_configuration_load_from_file (GbpFlatpakConfiguration *self,
   sdk_node = json_object_get_member (root_object, "sdk");
   modules_node = json_object_get_member (root_object, "modules");
 
-  if ((!JSON_NODE_HOLDS_VALUE (app_id_node) && !JSON_NODE_HOLDS_VALUE (id_node)) ||
-       !JSON_NODE_HOLDS_VALUE (runtime_node) ||
-       !JSON_NODE_HOLDS_VALUE (sdk_node) ||
-       !JSON_NODE_HOLDS_ARRAY (modules_node))
+  if (((app_id_node == NULL || !JSON_NODE_HOLDS_VALUE (app_id_node)) && (id_node == NULL || 
!JSON_NODE_HOLDS_VALUE (id_node))) ||
+      (runtime_node == NULL || !JSON_NODE_HOLDS_VALUE (runtime_node)) ||
+      (sdk_node == NULL || !JSON_NODE_HOLDS_VALUE (sdk_node)) ||
+      (modules_node == NULL || !JSON_NODE_HOLDS_ARRAY (modules_node)))
     return FALSE;
 
   IDE_TRACE_MSG ("Discovered flatpak manifest at %s", path);
@@ -317,7 +317,7 @@ gbp_flatpak_configuration_load_from_file (GbpFlatpakConfiguration *self,
       gbp_flatpak_configuration_set_finish_args (self, (const gchar * const *)finish_args_strv);
     }
 
-  if (JSON_NODE_HOLDS_VALUE (app_id_node))
+  if (app_id_node != NULL && JSON_NODE_HOLDS_VALUE (app_id_node))
     ide_configuration_set_app_id (IDE_CONFIGURATION (self), json_node_get_string (app_id_node));
   else
     ide_configuration_set_app_id (IDE_CONFIGURATION (self), json_node_get_string (id_node));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]