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>
This commit is contained in:
Karel Zak 2019-05-14 15:47:02 +02:00
parent fbd2d01e23
commit 0ed52c662e
1 changed files with 1 additions and 1 deletions

View File

@ -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);