diff options
author | Karel Zak | 2019-05-14 15:47:02 +0200 |
---|---|---|
committer | Karel Zak | 2019-05-14 15:47:02 +0200 |
commit | 0ed52c662eea74f4c8a6d926f601a3c77fa3ff69 (patch) | |
tree | 442a1e844377fea3fc7b5169dcbf9c47cfeff8bc /lib | |
parent | build-sys: add PKG_INSTALLDIR fallback (diff) | |
download | kernel-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.c | 2 |
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); |