On 10/13/2016 07:08 PM, [email protected] wrote:
From: "wei.huang" <[email protected]>

Problem:
when we configure device like vendor is COMPELNT in multipath.conf, multipathd 
will be coredump.

Reasons:
some vonders are not configured features in default_hw. In add_feature, 
strstr's first parameter *f maybe null.

Signed-off-by: wei.huang <[email protected]>
---
 libmultipath/structs.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/libmultipath/structs.c b/libmultipath/structs.c
index fee58e5..41e142f 100644
--- a/libmultipath/structs.c
+++ b/libmultipath/structs.c
@@ -520,6 +520,20 @@ add_feature (char **f, char *n)
        if (!n || *n == '0')
                return 0;

+       /* default feature is null */
+       if(!*f)
+       {
+               l = strlen("1 ") + strlen(n) + 1;
+               t = MALLOC(l);
+               if (!t)
+                       return 1;
+
+               snprintf(t, l, "1 %s", n);
+               *f = t;
+       
+               return 0;
+       }
+
        /* Check if feature is already present */
        if (strstr(*f, n))
                return 0;


Hello Wei Huang,

Please use asprintf() instead of open coding it and please also make the title of your patch comprehensible. Your patch avoids that multipathd triggers a core dump for a certain vendor name but that's not clear from the "add_feature: coredump".

Thanks,

Bart.

--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to