summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-02-11 14:42:09 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2012-02-17 10:27:15 +0100
commitec1d29e61c6d83d3d99bf8bd9ff5d2cee96460c1 (patch)
tree8c0536381596c46bef987edf11190bb613ecbfa5 /fs
parent2c2fb6a9478aea297b9458c5c312a502eea060a6 (diff)
downloadbarebox-ec1d29e61c6d83d3d99bf8bd9ff5d2cee96460c1.tar.gz
barebox-ec1d29e61c6d83d3d99bf8bd9ff5d2cee96460c1.tar.xz
fs: Store mtab path in allocated string
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'fs')
-rw-r--r--fs/fs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/fs.c b/fs/fs.c
index afa0198b6e..d65a41fc6d 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -808,8 +808,8 @@ int mount(const char *device, const char *fsname, const char *_path)
dev = &fsdev->dev;
/* add mtab entry */
- entry = &fsdev->mtab;
- safe_strncpy(entry->path, path, PATH_MAX);
+ entry = &fsdev->mtab;
+ entry->path = xstrdup(path);
entry->dev = dev;
entry->parent_device = parent_device;
@@ -860,6 +860,7 @@ int umount(const char *pathname)
return errno;
}
+ free(entry->path);
list_del(&entry->list);
if (entry == mtab_root)
mtab_root = NULL;