]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libmount: fix undefined sources
authorDavidlohr Bueso <dave@gnu.org>
Sun, 7 Aug 2011 00:10:26 +0000 (20:10 -0400)
committerKarel Zak <kzak@redhat.com>
Mon, 8 Aug 2011 11:53:46 +0000 (13:53 +0200)
The path resolving function breaks when handling undefined sources
("none") used by pseudo-filesystems. The assertion is causing the
samples/mount program to abort:

dave@offbook:~/projects/util-linux-good/libmount/samples$ ./mount
/dev/sda3 on / type ext4 (rw,errors=remount-ro,commit=0)
proc on /proc type proc (rw,noexec,nosuid,nodev)
lt-mount: cache.c:464: mnt_resolve_path: Assertion `path' failed.
Aborted

/etc/mtab:

/dev/sda3 / ext4 rw,errors=remount-ro,commit=0 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
none /sys sysfs rw,noexec,nosuid,nodev 0 0
fusectl /sys/fs/fuse/connections fusectl rw 0 0
none /sys/kernel/debug debugfs rw 0 0
...

Instead of this assert on NULL we can simply return NULL and let mnt_pretty_path do the work.

Signed-off-by: Davidlohr Bueso <dave@gnu.org>
libmount/src/cache.c

index 802d072ee7c394a6fce15cc67f6889b9414eb621..41aa4fe2fea6f99b2587e5ee7ff0ab51c42a0d56 100644 (file)
@@ -461,8 +461,6 @@ char *mnt_resolve_path(const char *path, struct libmnt_cache *cache)
        char *key = NULL;
        char *value = NULL;
 
-       assert(path);
-
        /*DBG(CACHE, mnt_debug_h(cache, "resolving path %s", path));*/
 
        if (!path)