[lvm-devel] main - cov: add explicit NULL pointer check
Zdenek Kabelac
zkabelac at sourceware.org
Mon Sep 20 13:30:11 UTC 2021
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=ebd150366f0852e7ebd32e7743e6a135138320a0
Commit: ebd150366f0852e7ebd32e7743e6a135138320a0
Parent: 752a9ec4b44198554b9f998ed6e4a837878fc49f
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Mon Sep 20 10:24:30 2021 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Mon Sep 20 14:26:09 2021 +0200
cov: add explicit NULL pointer check
Make obvious to coverity strcmp() is not getting NULL pointer.
---
lib/config/config.c | 2 +-
libdm/dm-tools/dmsetup.c | 7 ++++---
test/unit/run.c | 2 +-
tools/command.c | 4 ++--
4 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/lib/config/config.c b/lib/config/config.c
index aedbb2b1e..0cb0da121 100644
--- a/lib/config/config.c
+++ b/lib/config/config.c
@@ -932,7 +932,7 @@ static int _check_value_differs_from_default(struct cft_check_handle *handle,
} else {
str = v_def ? v_def->v.str
: cfg_def_get_default_value(handle->cmd, def, CFG_TYPE_STRING, NULL);
- diff = strcmp(str, v->v.str);
+ diff = str ? strcmp(str, v->v.str) : 0;
}
break;
case DM_CFG_EMPTY_ARRAY:
diff --git a/libdm/dm-tools/dmsetup.c b/libdm/dm-tools/dmsetup.c
index f431f7509..f6d1ecf90 100644
--- a/libdm/dm-tools/dmsetup.c
+++ b/libdm/dm-tools/dmsetup.c
@@ -6426,9 +6426,10 @@ static const struct command *_find_command(const struct command *commands,
{
int i;
- for (i = 0; commands[i].name; i++)
- if (!strcmp(commands[i].name, name))
- return commands + i;
+ if (name)
+ for (i = 0; commands[i].name; i++)
+ if (!strcmp(commands[i].name, name))
+ return commands + i;
return NULL;
}
diff --git a/test/unit/run.c b/test/unit/run.c
index 206857159..281991c51 100644
--- a/test/unit/run.c
+++ b/test/unit/run.c
@@ -240,7 +240,7 @@ static unsigned _filter(const char *pattern, struct test_details **tests, unsign
}
for (i = 0; i < nr; i++)
- if (!regexec(&rx, tests[i]->path, 0, NULL, 0))
+ if (tests[i] && !regexec(&rx, tests[i]->path, 0, NULL, 0))
tests[found++] = tests[i];
regfree(&rx);
diff --git a/tools/command.c b/tools/command.c
index 48f572f7e..18ffd64ed 100644
--- a/tools/command.c
+++ b/tools/command.c
@@ -4015,9 +4015,9 @@ int main(int argc, char *argv[])
factor_common_options();
- if (primary)
+ if (primary && cmdname)
r = _print_man(cmdname, desfile, secondary);
- else if (secondary) {
+ else if (secondary && cmdname) {
r = 1;
_print_man_secondary(cmdname);
} else if (check) {
More information about the lvm-devel
mailing list