From b80428abf6de3e5de36acc2a889c3318eecfea38 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 25 May 2016 22:11:09 +0200 Subject: [PATCH] server/vfs: fix file leaf path pointer Directory_service::leaf_path returns a pointer offset from its argument so pass member data rather than a constructor argument to leaf_path. Issue #1775 --- repos/os/src/server/vfs/assert.h | 2 +- repos/os/src/server/vfs/node.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/repos/os/src/server/vfs/assert.h b/repos/os/src/server/vfs/assert.h index bbf33574b1..d28b34e3d1 100644 --- a/repos/os/src/server/vfs/assert.h +++ b/repos/os/src/server/vfs/assert.h @@ -126,4 +126,4 @@ namespace File_system { } } -#endif +#endif /* _VFS__ASSERT_H_ */ diff --git a/repos/os/src/server/vfs/node.h b/repos/os/src/server/vfs/node.h index c4116dd3fe..f2fc12e7d9 100644 --- a/repos/os/src/server/vfs/node.h +++ b/repos/os/src/server/vfs/node.h @@ -131,6 +131,7 @@ class Vfs_server::File : public Node char const *_leaf_path; /* offset pointer to Node::_path */ public: + File(Vfs::File_system &vfs, Genode::Allocator &alloc, char const *file_path, @@ -142,7 +143,7 @@ class Vfs_server::File : public Node (fs_mode-1) | (create ? Vfs::Directory_service::OPEN_MODE_CREATE : 0); assert_open(vfs.open(file_path, vfs_mode, &_handle, alloc)); - _leaf_path = vfs.leaf_path(file_path); + _leaf_path = vfs.leaf_path(path()); } ~File() { _handle->ds().close(_handle); } @@ -289,5 +290,4 @@ struct Vfs_server::Directory : Node } }; - -#endif \ No newline at end of file +#endif /* _VFS__NODE_H_ */