[dm-devel] [PATCH 2/4] libmultipath: add_feature: skip pointless NULL check

Martin Wilck mwilck at suse.com
Mon Aug 28 22:05:34 UTC 2017


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 at suse.com>
---
 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




More information about the dm-devel mailing list