secureswitools/swisistools/source/sisxlibrary/utility_linux.cpp
changeset 77 d1838696558c
parent 50 c6e8afe0ba85
--- a/secureswitools/swisistools/source/sisxlibrary/utility_linux.cpp	Tue Sep 28 14:48:39 2010 +0300
+++ b/secureswitools/swisistools/source/sisxlibrary/utility_linux.cpp	Thu Oct 14 14:11:30 2010 +0300
@@ -300,7 +300,14 @@
 		}
 	else if(creation == CREATE_ALWAYS) 
 		{
-		fd = creat(filename, 0664);
+		fd = creat(filename, 0666);
+		//Set access right depending on umask after 
+		//re-creating (file already exists) the file.
+		mode_t oldMask,mode;
+		oldMask = umask(0002);
+		umask(oldMask);
+		mode = ((0666) & (~oldMask));
+		chmod(filename, mode);
 		}
 	else 
 		{
@@ -394,10 +401,10 @@
 	 return ret;
 	 }
 	 if(mode == _S_IWRITE || mode == _S_IWRITE | _S_IREAD)
-		chmod(tmp,S_IWUSR);
+		chmod(tmp,0666);
 	 else 
 		if(mode == _S_IREAD)
-		  chmod(tmp,S_IRUSR);   
+		  chmod(tmp,0444);   
 	 
 	ret = mbstowcs(const_cast<wchar_t*>(filename),tmp,sizeof(tmp));