]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Ensure duplinvolvedmap_all is reset when a solver is reused 505/head
authorJon Turney <jon.turney@dronecode.org.uk>
Sun, 14 Aug 2022 17:45:20 +0000 (18:45 +0100)
committerJon Turney <jon.turney@dronecode.org.uk>
Mon, 15 Aug 2022 11:26:20 +0000 (12:26 +0100)
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.

src/solver.c

index 28341d6d3da8deee9a5b70331a04b3cba40c8e6b..e3779e23252c66005d7b1ee9a2c928dd64e782c7 100644 (file)
@@ -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;