aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2020-02-25 13:00:58 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2020-02-25 13:00:58 -0500
commitbc30328962bb48c932239dc6e3e59c4f299c5d65 (patch)
tree10c63c1e4ffec0d8b95fd1d7e220a2f779632478 /src/resolve.c
parent3a44e7a66ce24212bd6bebca5077aee6b7550fcb (diff)
downloadspmc-bc30328962bb48c932239dc6e3e59c4f299c5d65.tar.gz
Free ManifestPackage variables
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c5
1 files changed, 4 insertions, 1 deletions
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