summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorafshin salek ardakani - Sun Microsystems - Irvine United States <Afshin.Ardakani@Sun.COM>2009-05-06 15:10:25 -0700
committerafshin salek ardakani - Sun Microsystems - Irvine United States <Afshin.Ardakani@Sun.COM>2009-05-06 15:10:25 -0700
commit6e3e9d9c7ec812d402e1c911922ec43d4047dec8 (patch)
tree870c2cb390d24e76db01d54b2f9f02410de4220a /usr/src
parent0aea4b19873599c9a11db600b90263c7233db953 (diff)
downloadillumos-joyent-6e3e9d9c7ec812d402e1c911922ec43d4047dec8.tar.gz
6837197 VFS_ROOT return value should be checked in smb_vss_lookup_nodes
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/fs/smbsrv/smb_vss.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/usr/src/uts/common/fs/smbsrv/smb_vss.c b/usr/src/uts/common/fs/smbsrv/smb_vss.c
index 444e8e8c77..f5b021ab63 100644
--- a/usr/src/uts/common/fs/smbsrv/smb_vss.c
+++ b/usr/src/uts/common/fs/smbsrv/smb_vss.c
@@ -144,7 +144,7 @@ smb_vss_lookup_nodes(smb_request_t *sr, smb_node_t *root_node,
char *snapname;
char *nodepath;
char gmttoken[SMB_VSS_GMT_SIZE];
- smb_attr_t attr;
+ smb_attr_t attr;
vnode_t *fsrootvp;
vnode_t *vp = NULL;
int err = 0;
@@ -156,15 +156,15 @@ smb_vss_lookup_nodes(smb_request_t *sr, smb_node_t *root_node,
ASSERT(sr->tid_tree->t_snode->vp);
ASSERT(sr->tid_tree->t_snode->vp->v_vfsp);
- p = smb_vss_find_gmttoken(buf);
-
- if (!p)
+ if ((p = smb_vss_find_gmttoken(buf)) == NULL)
return (ENOENT);
bcopy(p, gmttoken, SMB_VSS_GMT_SIZE);
gmttoken[SMB_VSS_GMT_SIZE - 1] = '\0';
- (void) VFS_ROOT(sr->tid_tree->t_snode->vp->v_vfsp, &fsrootvp);
+ err = VFS_ROOT(sr->tid_tree->t_snode->vp->v_vfsp, &fsrootvp);
+ if (err != 0)
+ return (err);
rootpath = kmem_alloc(MAXPATHLEN, KM_SLEEP);
snapname = kmem_alloc(MAXNAMELEN, KM_SLEEP);
@@ -172,9 +172,8 @@ smb_vss_lookup_nodes(smb_request_t *sr, smb_node_t *root_node,
err = smb_vss_get_fsmountpath(sr, rootpath, MAXPATHLEN);
- if (err != 0) {
+ if (err != 0)
goto error;
- }
*snapname = '\0';