The case f == NULL is already handled by the code from b1ecdd46b6ec "segment faulty occured in add_feature()" above. Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> --- libmultipath/structs.c | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/libmultipath/structs.c b/libmultipath/structs.c index 28704676..11e33676 100644 --- a/libmultipath/structs.c +++ b/libmultipath/structs.c @@ -515,7 +515,7 @@ void setup_feature(struct multipath *mpp, char *feature) int add_feature(char **f, const char *n) { - int c = 0, d, l = 0; + int c = 0, d, l; char *e, *p, *t; const char *q; @@ -538,19 +538,18 @@ int add_feature(char **f, const char *n) } /* Check if feature is already present */ - if (*f) { - if (strstr(*f, n)) - return 0; + if (strstr(*f, n)) + return 0; - /* Get feature count */ - c = strtoul(*f, &e, 10); - if (*f == e) - /* parse error */ - return 1; + /* Get feature count */ + c = strtoul(*f, &e, 10); + if (*f == e) + /* parse error */ + return 1; + + /* Check if we need to increase feature count space */ + l = strlen(*f) + strlen(n) + 1; - /* Check if we need to increase feature count space */ - l = strlen(*f) + strlen(n) + 1; - } /* Count new features */ if ((c % 10) == 9) l++; @@ -582,9 +581,7 @@ int add_feature(char **f, const char *n) snprintf(p, l + 2, "%0d ", c); /* Copy the feature string */ - p = NULL; - if (*f) - p = strchr(*f, ' '); + p = strchr(*f, ' '); if (p) { while (*p == ' ') -- 2.14.0 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel