Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Fix a leak in pkg_jobs
Marin Atanasov Nikolov committed 14 years ago
commit 96f4cfecda3e0eb6ec3fd9a01227f6f071cafbcf
parent a71bb5f149cf72226359b1bf4760793f96778cf7
1 file changed +5 -2
modified libpkg/pkg_jobs.c
@@ -345,10 +345,13 @@ pkg_jobs_resolv(struct pkg_jobs *j)
		if ((it = pkgdb_query(j->db, pkg_get(p, PKG_ORIGIN), MATCH_EXACT)) == NULL)
			continue;
		if (pkgdb_it_next(it, &localp, PKG_LOAD_BASIC) == EPKG_OK)
-
			if (!strcmp(pkg_get(localp, PKG_NAME), pkg_get(p, PKG_NAME)) &&
-
						!strcmp(pkg_get(localp, PKG_VERSION), pkg_get(p, p->type == PKG_UPGRADE ? PKG_NEWVERSION : PKG_VERSION)))
+
			if (!strcmp(pkg_get(localp, PKG_NAME), pkg_get(p, PKG_NAME)) && \
+
					!strcmp(pkg_get(localp, PKG_VERSION), pkg_get(p, p->type == PKG_UPGRADE ? PKG_NEWVERSION : PKG_VERSION))) {
				STAILQ_REMOVE(&j->jobs, p, pkg, next);
+
				pkg_free(p);
+
			}

+
		pkg_free(localp);
		pkgdb_it_free(it);
	}