From: Daniel Golle Date: Fri, 30 Jun 2017 15:20:22 +0000 (+0200) Subject: libfstools: fix matching device name X-Git-Url: http://git.archive.openwrt.org/?p=project%2Ffstools.git;a=commitdiff_plain;h=f038a610bdee22da308a64c9e225de72dd4dd75e libfstools: fix matching device name compare strlen()+1 characters to make sure we match the trailing \0 as well. Otherwise things get fishy when using lvm2, see this example: /dev/mapper/data: UUID="xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx" MOUNT="/mnt" TYPE="LVM2_member" /dev/mapper/data-fs: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" LABEL="xxxxxxxx" VERSION="1.0" MOUNT="/mnt" TYPE="ext4" Signed-off-by: Daniel Golle --- diff --git a/libfstools/find.c b/libfstools/find.c index 190fa81..fcc47a7 100644 --- a/libfstools/find.c +++ b/libfstools/find.c @@ -46,7 +46,6 @@ find_mount(char *mp) { FILE *fp = fopen("/proc/mounts", "r"); static char line[256]; - char *point = NULL; if(!fp) return NULL; @@ -75,7 +74,7 @@ find_mount(char *mp) fclose(fp); - return point; + return NULL; } /* @@ -184,7 +183,7 @@ find_mount_point(char *block, int root_only) devname = tmp; /* if device name matches */ - if (!strncmp(block, devname, len)) { + if (!strncmp(block, devname, len + 1)) { if (root_only && fs_rootfs_only(fstype)) break;