From: Michael Schroeder Date: Thu, 22 Nov 2018 12:28:38 +0000 (+0100) Subject: Fix last commit. Oops. X-Git-Tag: 0.7.2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97bf32fa5637211a30fb936ceef47d249753c8b1;p=thirdparty%2Flibsolv.git Fix last commit. Oops. --- diff --git a/ext/repo_updateinfoxml.c b/ext/repo_updateinfoxml.c index b7c91043..ff84d321 100644 --- a/ext/repo_updateinfoxml.c +++ b/ext/repo_updateinfoxml.c @@ -441,7 +441,7 @@ repo_add_updateinfoxml(Repo *repo, FILE *fp, int flags) pd.repo = repo; pd.data = data; solv_xmlparser_init(&pd.xmlp, stateswitches, &pd, startElement, endElement); - solv_xmlparser_parse(&pd.xmlp, fp); + if (solv_xmlparser_parse(&pd.xmlp, fp) != SOLV_XMLPARSER_OK) pd.ret = pool_error(pool, -1, "repo_updateinfoxml: %s at line %u:%u", pd.xmlp.errstr, pd.xmlp.line, pd.xmlp.column); solv_xmlparser_free(&pd.xmlp); join_freemem(&pd.jd); diff --git a/ext/solv_xmlparser.c b/ext/solv_xmlparser.c index a23f4750..6292663c 100644 --- a/ext/solv_xmlparser.c +++ b/ext/solv_xmlparser.c @@ -308,11 +308,13 @@ solv_xmlparser_parse(struct solv_xmlparser *xmlp, FILE *fp) for (;;) { l = fread(buf, 1, sizeof(buf), fp); - if (!parse_block(xmlp, buf, l) || !l) + if (!parse_block(xmlp, buf, l)) { ret = SOLV_XMLPARSER_ERROR; break; } + if (!l) + break; } free_parser(xmlp); return ret;