From: Karel Zak Date: Tue, 14 May 2019 13:47:02 +0000 (+0200) Subject: lib/canonicalize: verify DM paths [coverity scan] X-Git-Tag: v2.34-rc2~84 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ed52c662eea74f4c8a6d926f601a3c77fa3ff69;p=thirdparty%2Futil-linux.git 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 --- diff --git a/lib/canonicalize.c b/lib/canonicalize.c index fe104953de..e8d170c867 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);