From: Michael Tremer Date: Sat, 1 Jun 2019 04:41:56 +0000 (+0100) Subject: libpakfire: parser: End loop when all declarations are merged X-Git-Tag: 0.9.28~1285^2~1000 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fcbbe16ea4d9e3ce2904e46bee1218aa1399c155;p=pakfire.git libpakfire: parser: End loop when all declarations are merged Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/parser.c b/src/libpakfire/parser.c index 58064716d..a118d3bdc 100644 --- a/src/libpakfire/parser.c +++ b/src/libpakfire/parser.c @@ -432,13 +432,12 @@ PAKFIRE_EXPORT char* pakfire_parser_get(PakfireParser parser, const char* name) PAKFIRE_EXPORT PakfireParser pakfire_parser_merge(PakfireParser parser1, PakfireParser parser2) { DEBUG(parser1->pakfire, "Merging parsers %p and %p\n", parser1, parser2); - if (parser2) { - for (unsigned int i = 0; i < parser2->num_declarations; i++) { - struct pakfire_parser_declaration* d = parser2->declarations[i]; + for (unsigned int i = 0; i < parser2->num_declarations; i++) { + struct pakfire_parser_declaration* d = parser2->declarations[i]; + if (!d) + break; - if (d) - pakfire_parser_set_declaration(parser1, d->name, d->value); - } + pakfire_parser_set_declaration(parser1, d->name, d->value); } return parser1;