[dm-devel] [dm- devel][PATCH V2]

Zhiqiang Liu liuzhiqiang26 at huawei.com
Wed Jul 29 01:54:27 UTC 2020


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 <liuzhiqiang26 at huawei.com>
> Signed-off-by: lixiaokeng <lixiaokeng at huawei.com>
> Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>
> ---
>  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);
>  			}
> 




More information about the dm-devel mailing list