[PATCH 1/5] discover: Fix bad check of version string

Joel Stanley joel at jms.id.au
Tue Mar 6 15:02:16 AEDT 2018


Clang says this:

discover/device-handler.c:1564:27: warning: size argument in 'strncmp' call is a comparison [-Wmemsize-comparison]
                                        strlen(opt->version) == 0)) {
                                        ~~~~~~~~~~~~~~~~~~~~~^~~~
discover/device-handler.c:1563:5: note: did you mean to compare the result of 'strncmp' instead?
                                strncmp(opt->version, tmp->version,
                                ^

It looks like it's correct. However, we can go one better and drop the
pointless strncmp(foo, bar, strlen(bar)), as this is equivalent to
strcmp(foo, bar).

Signed-off-by: Joel Stanley <joel at jms.id.au>
---
 discover/device-handler.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/discover/device-handler.c b/discover/device-handler.c
index a6eb8843d514..569e65290bd7 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -1560,8 +1560,7 @@ void device_handler_add_plugin_option(struct device_handler *handler,
 		tmp = handler->plugins[i];
 		/* If both id and version match, ignore */
 		if (strncmp(opt->id, tmp->id, strlen(opt->id)) == 0 &&
-				strncmp(opt->version, tmp->version,
-					strlen(opt->version) == 0)) {
+				strcmp(opt->version, tmp->version) == 0) {
 			pb_log("discover: Plugin '%s' already exists, ignoring\n",
 					opt->id);
 			return;
-- 
2.15.1



More information about the Petitboot mailing list