summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pacman/package.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/pacman/package.c b/src/pacman/package.c
index 2e363c56..dc3fe3e3 100644
--- a/src/pacman/package.c
+++ b/src/pacman/package.c
@@ -90,7 +90,6 @@ void dump_pkg_full(PM_PKG *pkg, int level)
for(i = alpm_list_first(alpm_pkg_getinfo(pkg, PM_PKG_BACKUP)); i; i = alpm_list_next(i)) {
struct stat buf;
char path[PATH_MAX];
- char *md5sum;
char *str = strdup(alpm_list_getdata(i));
char *ptr = index(str, '\t');
if(ptr == NULL) {
@@ -101,12 +100,14 @@ void dump_pkg_full(PM_PKG *pkg, int level)
ptr++;
snprintf(path, PATH_MAX-1, "%s%s", root, str);
if(!stat(path, &buf)) {
- md5sum = alpm_get_md5sum(path);
+ char *md5sum = alpm_get_md5sum(path);
if(md5sum == NULL) {
ERR(NL, "error calculating md5sum for %s\n", path);
+ FREE(str);
continue;
}
printf("%sMODIFIED\t%s\n", strcmp(md5sum, ptr) ? "" : "NOT ", path);
+ FREE(md5sum);
} else {
printf("MISSING\t\t%s\n", path);
}