From 0d6f9a67e59b60e8925a5d0e2cc291af7aff1dcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 23 Feb 2004 04:31:51 +0000 Subject: [PATCH] Banned strncpy(), switched return type from "int" to "status_t" for vfs_get_vnode_from_path(). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6693 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/core/fs/vfs.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/kernel/core/fs/vfs.cpp b/src/kernel/core/fs/vfs.cpp index e63e351e02..0b3c2ed0f6 100755 --- a/src/kernel/core/fs/vfs.cpp +++ b/src/kernel/core/fs/vfs.cpp @@ -1345,23 +1345,23 @@ vfs_get_vnode_from_fd(int fd, bool kernel, void **vnode) } -int +status_t vfs_get_vnode_from_path(const char *path, bool kernel, void **_vnode) { struct vnode *vnode; - int err; - char buf[SYS_MAX_PATH_LEN+1]; + status_t status; + char buffer[SYS_MAX_PATH_LEN + 1]; PRINT(("vfs_get_vnode_from_path: entry. path = '%s', kernel %d\n", path, kernel)); - strncpy(buf, path, SYS_MAX_PATH_LEN); - buf[SYS_MAX_PATH_LEN] = 0; + strlcpy(buffer, path, sizeof(buffer)); - err = path_to_vnode(buf, true, &vnode, kernel); - if (err >= 0) - *_vnode = vnode; + status = path_to_vnode(buffer, true, &vnode, kernel); + if (status < B_OK) + return status; - return err; + *_vnode = vnode; + return B_OK; }