From 7c2b1baad8434f9f7b19efe48719942cb3bce4cd Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Tue, 28 Jan 2020 21:42:55 -0500 Subject: Fix more memory leaks: Add ability to free ManifestPackage structure Fix bug: manifest_search pointer got free()ed accidentally. --- src/mirrors.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/mirrors.c') diff --git a/src/mirrors.c b/src/mirrors.c index d551842..2275be4 100644 --- a/src/mirrors.c +++ b/src/mirrors.c @@ -70,6 +70,16 @@ char **mirror_list(const char *filename) { return result; } +void mirror_list_free(char **m) { + if (m == NULL) { + return; + } + for (size_t i = 0; m[i] != NULL; i++) { + free(m[i]); + } + free(m); +} + void mirror_clone(Manifest *info, char *_dest) { char *dest = NULL; if (endswith(_dest, SPM_GLOBAL.repo_target) != 0) { @@ -96,7 +106,7 @@ void mirror_clone(Manifest *info, char *_dest) { char *checksum = sha256sum(path); if (strcmp(checksum, info->packages[i]->checksum_sha256) == 0) { printf("Skipped: %s\n", archive); - //free(checksum); + free(checksum); free(archive); free(path); continue; -- cgit