From 36f942c2af0d97ab0cf96978e4da2d2f9f0e4186 Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Wed, 18 Feb 2004 04:50:12 +0000 Subject: [PATCH] vc_set_iattr_compat_fscompat(): fixed usage of the mode argument git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@944 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- util-vserver/lib/fscompat_setiattr-fscompat.hc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/util-vserver/lib/fscompat_setiattr-fscompat.hc b/util-vserver/lib/fscompat_setiattr-fscompat.hc index 7772074..a8e6f68 100644 --- a/util-vserver/lib/fscompat_setiattr-fscompat.hc +++ b/util-vserver/lib/fscompat_setiattr-fscompat.hc @@ -35,8 +35,7 @@ vc_set_iattr_compat_fscompat(char const *filename, struct stat st; int stat_rc; - if (mode!=0) st.st_mode = *mode; - if (!S_ISREG(st.st_mode) && !S_ISDIR(st.st_mode)) return 0; + if (mode!=0 && !S_ISREG(*mode) && !S_ISDIR(*mode)) return 0; fd = open(filename, O_RDONLY); if (fd==-1) return -1; @@ -58,7 +57,8 @@ vc_set_iattr_compat_fscompat(char const *filename, } if ( (mask&VC_IATTR_BARRIER) ) { - if (fchmod(fd, (flags&VC_IATTR_BARRIER) ? 0 : (st.st_mode|0500))==-1) + if (fchmod(fd, (flags&VC_IATTR_BARRIER) ? 0 : + (st.st_mode| (mode ? *mode : 0500)))==-1) goto err; } -- 1.8.1.5