Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Free decision tree in case of errors.
Vsevolod Stakhov committed 12 years ago
commit 5da0100a751c411a489b904f559b39489b9bab7e
parent 439ab87
1 file changed +2 -0
modified libpkg/pkg_solve.c
@@ -335,6 +335,7 @@ pkg_solve_sat_problem(struct pkg_solve_problem *problem)
				elt = malloc (sizeof (*elt));
				if (elt == NULL) {
					pkg_emit_errno("malloc", "_solver_tree_elt");
+
					LL_FREE(solver_tree, free);
					return (false);
				}
				elt->var = var;
@@ -365,6 +366,7 @@ pkg_solve_sat_problem(struct pkg_solve_problem *problem)
					if (elt == NULL || elt->prev->next == NULL) {
						/* Cannot backtrack, UNSAT */
						pkg_debug(1, "problem is UNSAT problem after %d guesses", iters);
+
						LL_FREE(solver_tree, free);
						return (false);
					}
					/* Set the current variable as free variable */