[lvm-devel] [PATCH 1/3] cmdlib_lvm2_init: release cmd after registration failed
Zdenek Kabelac
zdenek.kabelac at gmail.com
Fri Sep 10 15:00:57 UTC 2021
Dne 30. 08. 21 v 9:13 Wu Guanghao napsal(a):
> The cmd memory space is allocated by zalloc, and the registration fails and is not released
>
> Signed-off-by: Wu Guanghao <wuguanghao3 at huawei.com>
> ---
> tools/lvmcmdlib.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/tools/lvmcmdlib.c b/tools/lvmcmdlib.c
> index 152d176b2..6b326893c 100644
> --- a/tools/lvmcmdlib.c
> +++ b/tools/lvmcmdlib.c
> @@ -33,8 +33,10 @@ void *cmdlib_lvm2_init(unsigned static_compile, unsigned threaded)
> if (!(cmd = init_lvm(1, 1, threaded)))
> return NULL;
>
> - if (!lvm_register_commands(cmd, NULL))
> + if (!lvm_register_commands(cmd, NULL)) {
> + free(cmd);
> return NULL;
> + }
>
> return (void *) cmd;
Well - all possible paths leading to 'return 0' from lvm_register_commands()
are essentially internal errors - so app should crash anyway,
but I guess it does no harm to add 'free()' call - so I'll push it.
Zdenek
More information about the lvm-devel
mailing list