From 5c1ad88137f85caa0774a6e5e8371a4b50067ea7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2021 14:44:40 -0500 Subject: [PATCH 1/2] builderparser: Be more robust If a document contains no useful content, just say so instead of crashing. --- tools/gtk-builder-tool-simplify.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/gtk-builder-tool-simplify.c b/tools/gtk-builder-tool-simplify.c index bb8e1ebd62..635b6332fa 100644 --- a/tools/gtk-builder-tool-simplify.c +++ b/tools/gtk-builder-tool-simplify.c @@ -2301,6 +2301,12 @@ simplify_file (const char *filename, return FALSE; } + if (data.root == NULL) + { + g_printerr (_("Can't parse “%s”\n"), filename); + return FALSE; + } + data.builder = gtk_builder_new (); if (data.convert3to4) From 66d8631c23cbc05d9937b503986d44c5eb1a480b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2021 15:08:35 -0500 Subject: [PATCH 2/2] buildertool: Be more robust Don't pass a NULL string to gtk_builder_value_from_string. --- tools/gtk-builder-tool-simplify.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/gtk-builder-tool-simplify.c b/tools/gtk-builder-tool-simplify.c index 635b6332fa..7aadefa160 100644 --- a/tools/gtk-builder-tool-simplify.c +++ b/tools/gtk-builder-tool-simplify.c @@ -432,6 +432,9 @@ value_is_default (Element *element, if (g_type_is_a (G_PARAM_SPEC_VALUE_TYPE (pspec), G_TYPE_BOXED)) return FALSE; + if (!value_string) + return FALSE; + if (!gtk_builder_value_from_string (data->builder, pspec, value_string, &value, &error)) { g_printerr (_("%s:%d: Couldn’t parse value for property '%s': %s\n"), data->input_filename, element->line_number, pspec->name, error->message);