[lvm-devel] main - clang: free on arg parsing
Zdenek Kabelac
zkabelac at sourceware.org
Wed Sep 15 13:26:28 UTC 2021
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=73087c2c0fd51b1ff543580dadbf3d02dd49a35d
Commit: 73087c2c0fd51b1ff543580dadbf3d02dd49a35d
Parent: dd5f8b3f8c18ff57525ec5c5b35c6e1d218b1000
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Tue Sep 14 23:06:17 2021 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Wed Sep 15 15:24:56 2021 +0200
clang: free on arg parsing
If the parameter would be given twice, the 1st. alloc memleaks.
---
daemons/lvmlockd/lvmlockd-core.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/daemons/lvmlockd/lvmlockd-core.c b/daemons/lvmlockd/lvmlockd-core.c
index a3964c857..e53eebfe7 100644
--- a/daemons/lvmlockd/lvmlockd-core.c
+++ b/daemons/lvmlockd/lvmlockd-core.c
@@ -6280,6 +6280,7 @@ int main(int argc, char *argv[])
.daemon_fini = NULL,
.daemon_main = main_loop,
};
+ daemon_host_id_file = NULL;
static struct option long_options[] = {
{"help", no_argument, 0, 'h' },
@@ -6332,9 +6333,11 @@ int main(int argc, char *argv[])
daemon_debug = 1;
break;
case 'p':
+ free((void*)ds.pidfile);
ds.pidfile = strdup(optarg);
break;
case 's':
+ free((void*)ds.socket_path);
ds.socket_path = strdup(optarg);
break;
case 'g':
@@ -6354,6 +6357,7 @@ int main(int argc, char *argv[])
daemon_host_id = atoi(optarg);
break;
case 'F':
+ free((void*)daemon_host_id_file);
daemon_host_id_file = strdup(optarg);
break;
case 'o':
More information about the lvm-devel
mailing list