diff --git a/steam-runtime-tools/library.c b/steam-runtime-tools/library.c index 4294f32b004dc1dd564615b82fccd2db577c627d..686d64b9a16350bae45aece3deba2e6418f6925d 100644 --- a/steam-runtime-tools/library.c +++ b/steam-runtime-tools/library.c @@ -440,9 +440,9 @@ srt_check_library_presence (const char *soname, JsonParser *parser = NULL; JsonNode *node = NULL; JsonObject *json; - JsonArray *missing_array; - JsonArray *misversioned_array; - JsonArray *dependencies_array; + JsonArray *missing_array = NULL; + JsonArray *misversioned_array = NULL; + JsonArray *dependencies_array = NULL; GError *error = NULL; GStrv missing_symbols = NULL; GStrv misversioned_symbols = NULL; @@ -521,7 +521,8 @@ srt_check_library_presence (const char *soname, absolute_path = g_strdup (json_object_get_string_member (json, "path")); - missing_array = json_object_get_array_member (json, "missing_symbols"); + if (json_object_has_member (json, "missing_symbols")) + missing_array = json_object_get_array_member (json, "missing_symbols"); if (missing_array != NULL) { if (json_array_get_length (missing_array) > 0) @@ -536,7 +537,8 @@ srt_check_library_presence (const char *soname, } } - misversioned_array = json_object_get_array_member (json, "misversioned_symbols"); + if (json_object_has_member (json, "misversioned_symbols")) + misversioned_array = json_object_get_array_member (json, "misversioned_symbols"); if (misversioned_array != NULL) { if (json_array_get_length (misversioned_array) > 0) @@ -551,7 +553,8 @@ srt_check_library_presence (const char *soname, } } - dependencies_array = json_object_get_array_member (json, "dependencies"); + if (json_object_has_member (json, "dependencies")) + dependencies_array = json_object_get_array_member (json, "dependencies"); if (dependencies_array != NULL) { dependencies = g_new0 (gchar *, json_array_get_length (dependencies_array) + 1);