From db9f626790a7f51dfa49eb8c6a5554dc335b4279 Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Fri, 11 May 2012 21:01:42 -0500 Subject: [PATCH] pkg: if pkg_traverse() fails, abort walking the graph. --- pkg.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg.c b/pkg.c index f8fd9c3..62421be 100644 --- a/pkg.c +++ b/pkg.c @@ -603,8 +603,11 @@ pkg_walk_list(pkg_dependency_t *deplist, return pkg_report_graph_error(pkgdep, node, eflags); eflags = pkg_traverse(pkgdep, func, data, depth - 1, flags); - pkg_free(pkgdep); + + /* optimization: if a break has been found in the depgraph, quit walking it */ + if (eflags != PKG_ERRF_OK) + break; } return eflags;