From bc30328962bb48c932239dc6e3e59c4f299c5d65 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Tue, 25 Feb 2020 13:00:58 -0500 Subject: Free ManifestPackage variables --- src/resolve.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/resolve.c b/src/resolve.c index 0bb207e..ef1f15b 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -28,20 +28,23 @@ int resolve_has_dependency(const char *archive) { */ ManifestPackage **resolve_dependencies(ManifestList *manifests, const char *spec) { ManifestPackage *package = manifestlist_search(manifests, spec); + ManifestPackage *requirement = NULL; if (package == NULL) { return NULL; } for (size_t i = 0; i < package->requirements_records && i < SPM_REQUIREMENT_MAX; i++) { - ManifestPackage *requirement = manifestlist_search(manifests, package->requirements[i]); + requirement = manifestlist_search(manifests, package->requirements[i]); if (requirement == NULL) { break; } if (resolve_has_dependency(requirement->archive)) { + free(requirement); continue; } resolve_dependencies(manifests, requirement->archive); requirements[i] = requirement; } + free(package); return requirements; } \ No newline at end of file -- cgit