Sorry for forgetting to add a subject.
I will resend the v2 patch.

On 2020/7/29 9:52, Zhiqiang Liu wrote:
> 
> In disassemble_status func, for dealing with selector args,
> word is allocated by get_word func. However, word is not freed.
> Then a memory leak occurs.
> 
> Here, we call FREE(word) to free word.
> 
> Fixes: 35ad40b4 ('leastpending IO loadbalancing is not displayed properly')
> Signed-off-by: Zhiqiang Liu <[email protected]>
> Signed-off-by: lixiaokeng <[email protected]>
> Reviewed-by: Benjamin Marzinski <[email protected]>
> ---
>  libmultipath/dmparser.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/libmultipath/dmparser.c b/libmultipath/dmparser.c
> index 3dc77242..33f47405 100644
> --- a/libmultipath/dmparser.c
> +++ b/libmultipath/dmparser.c
> @@ -580,10 +580,15 @@ int disassemble_status(char *params, struct multipath 
> *mpp)
>                               if (!strncmp(mpp->selector,
>                                            "least-pending", 13)) {
>                                       p += get_word(p, &word);
> +
> +                                     if (!word)
> +                                             return 1;
> +
>                                       if (sscanf(word,"%d:*d",
>                                                  &def_minio) == 1 &&
>                                           def_minio != mpp->minio)
>                                                       mpp->minio = def_minio;
> +                                     FREE(word);
>                               } else
>                                       p += get_word(p, NULL);
>                       }
> 

--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to