On 10/14/2016 04:08 AM, [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;
> 
No, that is wrong.
It'll insert a '1' into the string if no features are present.

I have a patch queued for fixing this one up.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                Teamlead Storage & Networking
[email protected]                                   +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)

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

Reply via email to