[Libsysio-commit] HEAD: libsysio/drivers/native fs_native.c
Brought to you by:
lward
From: Lee W. <lw...@us...> - 2004-02-25 16:39:04
|
Update of /cvsroot/libsysio/libsysio/drivers/native In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23863/drivers/native Modified Files: fs_native.c Log Message: All mode bit masks were incorrect. Need to preserve ISUID, ISGID, ISVTX bits. Index: fs_native.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/drivers/native/fs_native.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -w -b -B -p -r1.32 -r1.33 --- fs_native.c 14 Feb 2004 19:42:58 -0000 1.32 +++ fs_native.c 25 Feb 2004 16:23:58 -0000 1.33 @@ -739,7 +739,7 @@ native_inop_setattr(struct pnode *pno, /* * Alter permissions attribute. */ - mode = stbuf->st_mode & 0777; + mode = stbuf->st_mode & 07777; err = fd < 0 ? syscall(SYS_chmod, path, mode) @@ -837,8 +837,8 @@ native_inop_setattr(struct pnode *pno, } if (mask & SETATTR_MODE) { fd < 0 - ? syscall(SYS_chmod, path, st.st_mode & 0777) - : syscall(SYS_fchmod, fd, st.st_mode & 0777); + ? syscall(SYS_chmod, path, st.st_mode & 07777) + : syscall(SYS_fchmod, fd, st.st_mode & 07777); } out: if (path) |