From 6da1f01d3d2ae93c03c42624b5e9b83b3b121f8f Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Tue, 29 Jan 2019 18:22:39 +0100 Subject: [PATCH] g-i: Fix return value on error in start_discriminator() --- gobject-introspection/gidlparser.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gobject-introspection/gidlparser.c b/gobject-introspection/gidlparser.c index 6a76b2ca7..81494414f 100644 --- a/gobject-introspection/gidlparser.c +++ b/gobject-introspection/gidlparser.c @@ -1562,9 +1562,16 @@ start_discriminator (GMarkupParseContext *context, type = find_attribute ("type", attribute_names, attribute_values); offset = find_attribute ("offset", attribute_names, attribute_values); if (type == NULL) - MISSING_ATTRIBUTE (error, element_name, "type"); + { + MISSING_ATTRIBUTE (error, element_name, "type"); + return FALSE; + } else if (offset == NULL) - MISSING_ATTRIBUTE (error, element_name, "offset"); + { + MISSING_ATTRIBUTE (error, element_name, "offset"); + return FALSE; + } + else { ((GIdlNodeUnion *)ctx->current_node)->discriminator_type = parse_type (type); -- 2.47.2