[dm-devel] [PATCH] multipath: strdup multipath alias, so that it isn't deleted.

Benjamin Marzinski bmarzins at redhat.com
Mon Jul 25 18:27:00 UTC 2011


When a multipath device is added to multipathd with ev_add_map(),
the alias is not duplicated, and is freed immediately after ev_add_map()
returns, causing a memory error. This patch corrects that.

Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
---
 libmultipath/structs_vec.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c
index 189f25b..364e36e 100644
--- a/libmultipath/structs_vec.c
+++ b/libmultipath/structs_vec.c
@@ -373,7 +373,7 @@ add_map_without_path (struct vectors * vecs, char * alias)
 	if (!mpp || !alias)
 		return NULL;
 
-	mpp->alias = alias;
+	mpp->alias = STRDUP(alias);
 
 	if (setup_multipath(vecs, mpp)) {
 		mpp->alias = NULL;
-- 
1.7.4.4




More information about the dm-devel mailing list