[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