From: Jon Turney Date: Sun, 14 Aug 2022 17:45:20 +0000 (+0100) Subject: Ensure duplinvolvedmap_all is reset when a solver is reused X-Git-Tag: 0.7.23~54^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd6e977782816e330a8f60cf78ca3d12fead3b10;p=thirdparty%2Flibsolv.git Ensure duplinvolvedmap_all is reset when a solver is reused Otherwise, if solver is used with a SOLVER_DISTUPGRADE job, then reused without one, this will cause solver_addduprules() to be called, even though needduprules is 0, which will crash trying to dereference solv->dupmap, which is NULL because solver_createdupmaps() hasn't been called. --- diff --git a/src/solver.c b/src/solver.c index 28341d6d..e3779e23 100644 --- a/src/solver.c +++ b/src/solver.c @@ -3533,6 +3533,7 @@ solver_solve(Solver *solv, Queue *job) map_zerosize(&solv->bestupdatemap); solv->fixmap_all = 0; map_zerosize(&solv->fixmap); + solv->dupinvolvedmap_all = 0; map_zerosize(&solv->dupmap); map_zerosize(&solv->dupinvolvedmap); solv->process_orphans = 0;