diff options
author | Karel Zak | 2011-06-02 14:53:42 +0200 |
---|---|---|
committer | Karel Zak | 2011-06-02 14:53:42 +0200 |
commit | aab72640daa7ee2db3d42fc8278ab86e3aef2d71 (patch) | |
tree | bb0f6203a14bfcb64dd4995857480608fea8168a /mount | |
parent | partx: remove unused headers (diff) | |
download | kernel-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.c | 8 |
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; } |