diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-01-28 21:42:55 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-01-28 21:42:55 -0500 |
commit | 7c2b1baad8434f9f7b19efe48719942cb3bce4cd (patch) | |
tree | 79666a768eb3392ddea57a78c57531d00a145769 /src/mirrors.c | |
parent | 8b06e3e66a4cf26c02f9e0175263e1a561186c1b (diff) | |
download | spmc-7c2b1baad8434f9f7b19efe48719942cb3bce4cd.tar.gz |
Fix more memory leaks:
Add ability to free ManifestPackage structure
Fix bug: manifest_search pointer got free()ed accidentally.
Diffstat (limited to 'src/mirrors.c')
-rw-r--r-- | src/mirrors.c | 12 |
1 files changed, 11 insertions, 1 deletions
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; |