From 83c2bdf0776213433dc90605df014d07eb05b3df Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 13 Jun 2019 12:48:10 +0200 Subject: [PATCH] OCI: Don't crash if mediaType field missing in flatpak_oci_versioned_from_json --- common/flatpak-json-oci.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/common/flatpak-json-oci.c b/common/flatpak-json-oci.c index cbb6941a..b2ce731c 100644 --- a/common/flatpak-json-oci.c +++ b/common/flatpak-json-oci.c @@ -173,11 +173,12 @@ flatpak_oci_versioned_init (FlatpakOciVersioned *self) } FlatpakOciVersioned * -flatpak_oci_versioned_from_json (GBytes *bytes, GError **error) +flatpak_oci_versioned_from_json (GBytes *bytes, + GError **error) { g_autoptr(JsonParser) parser = NULL; JsonNode *root = NULL; - const gchar *mediatype; + const gchar *mediatype = NULL; JsonObject *object; parser = json_parser_new (); @@ -190,7 +191,9 @@ flatpak_oci_versioned_from_json (GBytes *bytes, GError **error) root = json_parser_get_root (parser); object = json_node_get_object (root); - mediatype = json_object_get_string_member (object, "mediaType"); + if (json_object_has_member (object, "mediaType")) + mediatype = json_object_get_string_member (object, "mediaType"); + if (mediatype == NULL) { g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT,