[dm-devel] [dm- devel][PATCH V2] libmultipath: fix a memory leak in disassemble_status func
Zhiqiang Liu
liuzhiqiang26 at huawei.com
Wed Jul 29 01:53:32 UTC 2020
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);
}
--
2.24.0.windows.2
More information about the dm-devel
mailing list