From: Hannes Reinecke Date: Tue, 15 Mar 2011 10:25:38 +0000 (+0100) Subject: Check return value for select_alias() X-Git-Tag: upstream/0.5.0~106^2~44 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7572f6d457b3f32cf6da22b15a83419e33a1445b;p=platform%2Fupstream%2Fmultipath-tools.git Check return value for select_alias() select_alias() might fail, so we need to check the return code here. References: bnc#642846 Signed-off-by: Hannes Reinecke --- diff --git a/libmultipath/propsel.c b/libmultipath/propsel.c index 4efdf14..c3f577d 100644 --- a/libmultipath/propsel.c +++ b/libmultipath/propsel.c @@ -254,7 +254,7 @@ select_alias (struct multipath * mp) mp->alias = STRDUP(mp->wwid); } - return 0; + return mp->alias ? 0 : 1; } extern int diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c index 8349c17..b5911f6 100644 --- a/libmultipath/structs_vec.c +++ b/libmultipath/structs_vec.c @@ -387,7 +387,7 @@ add_map_without_path (struct vectors * vecs, { struct multipath * mpp = alloc_multipath(); - if (!mpp) + if (!mpp || !alias) return NULL; mpp->alias = alias; @@ -427,7 +427,8 @@ add_map_with_path (struct vectors * vecs, mpp->hwe = pp->hwe; strcpy(mpp->wwid, pp->wwid); - select_alias(mpp); + if (select_alias(mpp)) + goto out; mpp->size = pp->size; if (adopt_paths(vecs->pathvec, mpp, 1))