From: Alejandro del Castillo Date: Wed, 6 Feb 2019 19:24:04 +0000 (-0600) Subject: solver_solve: only disfavor recommends if there are any X-Git-Tag: 0.7.4~21^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F297%2Fhead;p=thirdparty%2Flibsolv.git solver_solve: only disfavor recommends if there are any In a repo that have pkg 'a' and 'b' available, and 'b' is disfavored, but 'a' doesn't recommend 'b', libsolv segfaults on solver_addrecommendsrules, since solv->recommendsruleq is null. Only call solver_addrecommendsrules if there are recommends rules. Signed-off-by: Alejandro del Castillo --- diff --git a/src/solver.c b/src/solver.c index a80090d1..ad78327a 100644 --- a/src/solver.c +++ b/src/solver.c @@ -3920,7 +3920,7 @@ solver_solve(Solver *solv, Queue *job) else solv->yumobsrules = solv->yumobsrules_end = solv->nrules; - if (solv->havedisfavored && solv->strongrecommends) + if (solv->havedisfavored && solv->strongrecommends && solv->recommendsruleq) solver_addrecommendsrules(solv); else solv->recommendsrules = solv->recommendsrules_end = solv->nrules;