]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lsmem: make it without leaks for non-error output
authorKarel Zak <kzak@redhat.com>
Wed, 8 Jul 2020 06:48:45 +0000 (08:48 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 8 Jul 2020 06:48:45 +0000 (08:48 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
sys-utils/lsmem.c

index 45775d993c5314a0dd09433f1cb60bd18b918846..80cad98cda9cb984ca72ea0593dfd1e45ba991cf 100644 (file)
@@ -431,6 +431,18 @@ static int is_mergeable(struct lsmem *lsmem, struct memory_block *blk)
        return 1;
 }
 
+static void free_info(struct lsmem *lsmem)
+{
+       int i;
+
+       if (!lsmem)
+               return;
+       free(lsmem->blocks);
+       for (i = 0; i < lsmem->ndirs; i++)
+               free(lsmem->dirs[i]);
+       free(lsmem->dirs);
+}
+
 static void read_info(struct lsmem *lsmem)
 {
        struct memory_block blk;
@@ -742,5 +754,6 @@ int main(int argc, char **argv)
 
        scols_unref_table(lsmem->table);
        ul_unref_path(lsmem->sysmem);
+       free_info(lsmem);
        return 0;
 }