summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorKarel Zak2019-05-14 15:47:02 +0200
committerKarel Zak2019-05-14 15:47:02 +0200
commit0ed52c662eea74f4c8a6d926f601a3c77fa3ff69 (patch)
tree442a1e844377fea3fc7b5169dcbf9c47cfeff8bc /lib
parentbuild-sys: add PKG_INSTALLDIR fallback (diff)
downloadkernel-qcow2-util-linux-0ed52c662eea74f4c8a6d926f601a3c77fa3ff69.tar.gz
kernel-qcow2-util-linux-0ed52c662eea74f4c8a6d926f601a3c77fa3ff69.tar.xz
kernel-qcow2-util-linux-0ed52c662eea74f4c8a6d926f601a3c77fa3ff69.zip
lib/canonicalize: verify DM paths [coverity scan]
Now the code only checks that /sys/.../dm/name exists, but never verify the device node in /dev (because path prefix is never NULL). The prefix is used to redirect hardcoded paths to /sys dumps (e.g. lsblk regression tests, etc.) This bug has been introduced in v2.33. Fortunately, it's probably no big issue as /dev is always in sync with /sys (thanks to udevd). Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/canonicalize.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/canonicalize.c b/lib/canonicalize.c
index fe104953d..e8d170c86 100644
--- a/lib/canonicalize.c
+++ b/lib/canonicalize.c
@@ -47,7 +47,7 @@ char *__canonicalize_dm_name(const char *prefix, const char *ptname)
name[sz - 1] = '\0';
snprintf(path, sizeof(path), _PATH_DEV_MAPPER "/%s", name);
- if (prefix || access(path, F_OK) == 0)
+ if ((prefix && *prefix) || access(path, F_OK) == 0)
res = strdup(path);
}
fclose(f);