summaryrefslogtreecommitdiffstats
path: root/mount
diff options
context:
space:
mode:
authorKarel Zak2011-06-02 14:53:42 +0200
committerKarel Zak2011-06-02 14:53:42 +0200
commitaab72640daa7ee2db3d42fc8278ab86e3aef2d71 (patch)
treebb0f6203a14bfcb64dd4995857480608fea8168a /mount
parentpartx: remove unused headers (diff)
downloadkernel-qcow2-util-linux-aab72640daa7ee2db3d42fc8278ab86e3aef2d71.tar.gz
kernel-qcow2-util-linux-aab72640daa7ee2db3d42fc8278ab86e3aef2d71.tar.xz
kernel-qcow2-util-linux-aab72640daa7ee2db3d42fc8278ab86e3aef2d71.zip
mount: canonicalize fstab mnt_dir
Addresses: http://bugzilla.redhat.com/show_bug.cgi?id=709681 Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'mount')
-rw-r--r--mount/fstab.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/mount/fstab.c b/mount/fstab.c
index 8ce733bf8..4fa26b446 100644
--- a/mount/fstab.c
+++ b/mount/fstab.c
@@ -455,7 +455,13 @@ getfs_by_dir (const char *dir) {
cdir = canonicalize(dir);
for (mc = mc0->nxt; mc && mc != mc0; mc = mc->nxt) {
- if (streq(mc->m.mnt_dir, cdir)) {
+ int ok = streq(mc->m.mnt_dir, cdir);
+ if (!ok) {
+ char *dr = canonicalize(mc->m.mnt_dir);
+ ok = dr ? streq(dr, cdir) : 0;
+ free(dr);
+ }
+ if (ok) {
free(cdir);
return mc;
}