[dm-devel] [PATCH v2 1/2] libmultipath: prevent memory leak in alloc_path_with_pathinfo() if pp_ptr is NULL
Mauricio Faria de Oliveira
mauricfo at linux.vnet.ibm.com
Tue Dec 13 18:27:08 UTC 2016
In alloc_path_with_pathinfo(), if the 'pp_ptr' argument is NULL
(which is acceptable and checked in the function in two places)
the 'pp' pointer is lost as it is not referenced anywhere else;
thus the memory allocated for it is leaked.
So, call free_path() in the case 'pp_ptr' is NULL too.
Signed-off-by: Mauricio Faria de Oliveira <mauricfo at linux.vnet.ibm.com>
---
libmultipath/discovery.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
index 7b5b4344b2a1..3c5c808436b2 100644
--- a/libmultipath/discovery.c
+++ b/libmultipath/discovery.c
@@ -58,7 +58,7 @@ alloc_path_with_pathinfo (struct config *conf, struct udev_device *udevice,
err = pathinfo(pp, conf, flag | DI_BLACKLIST);
}
- if (err)
+ if (err || !pp_ptr)
free_path(pp);
else if (pp_ptr)
*pp_ptr = pp;
--
1.8.3.1
More information about the dm-devel
mailing list