--- ntfs-3g-2011.1.15/src/ntfs-3g_common.c.1 2011-04-21 00:06:33.689917258 +0400 +++ ntfs-3g-2011.1.15/src/ntfs-3g_common.c 2011-04-21 00:16:31.786577463 +0400 @@ -475,6 +475,8 @@ goto exit; } +extern char *canonicalize_path(const char *path); + /** * parse_options - Read and validate the programs command line * Read the command line, verify the syntax and parse the options. @@ -502,16 +504,11 @@ switch (c) { case 1: /* A non-option argument */ if (!popts->device) { - popts->device = ntfs_malloc(PATH_MAX + 1); - if (!popts->device) - return -1; - /* Canonicalize device name (mtab, etc) */ - if (!realpath(optarg, popts->device)) { + popts->device = canonicalize_path(optarg); + if (!popts->device) { ntfs_log_perror("%s: Failed to access " "volume '%s'", EXEC_NAME, optarg); - free(popts->device); - popts->device = NULL; return -1; } } else if (!popts->mnt_point) { --- ntfs-3g_ntfsprogs-2011.4.12/src/Makefile.am.1 2011-04-21 21:59:18.936572422 +0400 +++ ntfs-3g_ntfsprogs-2011.4.12/src/Makefile.am 2011-04-21 22:02:03.773233028 +0400 @@ -5,10 +5,10 @@ if FUSE_INTERNAL FUSE_CFLAGS = -I$(top_srcdir)/include/fuse-lite -FUSE_LIBS = +FUSE_LIBS = /usr/lib/libmount.a else FUSE_CFLAGS = $(FUSE_MODULE_CFLAGS) -FUSE_LIBS = $(FUSE_MODULE_LIBS) +FUSE_LIBS = $(FUSE_MODULE_LIBS) /usr/lib/libmount.a endif bin_PROGRAMS = ntfs-3g.probe \ --- ntfs-3g_ntfsprogs-2011.4.12/src/Makefile.in.1 2011-04-21 21:59:27.319905447 +0400 +++ ntfs-3g_ntfsprogs-2011.4.12/src/Makefile.in 2011-04-21 22:02:23.596565632 +0400 @@ -264,8 +264,8 @@ MAINTAINERCLEANFILES = $(srcdir)/Makefile.in @FUSE_INTERNAL_FALSE@FUSE_CFLAGS = $(FUSE_MODULE_CFLAGS) @FUSE_INTERNAL_TRUE@FUSE_CFLAGS = -I$(top_srcdir)/include/fuse-lite -@FUSE_INTERNAL_FALSE@FUSE_LIBS = $(FUSE_MODULE_LIBS) -@FUSE_INTERNAL_TRUE@FUSE_LIBS = +@FUSE_INTERNAL_FALSE@FUSE_LIBS = $(FUSE_MODULE_LIBS) /usr/lib/libmount.a +@FUSE_INTERNAL_TRUE@FUSE_LIBS = /usr/lib/libmount.a rootsbin_DATA = #Create directory man_MANS = ntfs-3g.8 ntfs-3g.probe.8 \ ntfs-3g.usermap.8 \