SOURCES: dx-open.patch (NEW) - fix open() invocation with O_CREAT and no mo...

baggins baggins at pld-linux.org
Sun Nov 16 14:16:23 CET 2008


Author: baggins                      Date: Sun Nov 16 13:16:23 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- fix open() invocation with O_CREAT and no mode (from FC)

---- Files affected:
SOURCES:
   dx-open.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/dx-open.patch
diff -u /dev/null SOURCES/dx-open.patch:1.1
--- /dev/null	Sun Nov 16 14:16:24 2008
+++ SOURCES/dx-open.patch	Sun Nov 16 14:16:18 2008
@@ -0,0 +1,32 @@
+--- dx-4.4.4/src/exec/libdx/fileio.c.open	2006-01-05 23:55:47.000000000 +0100
++++ dx-4.4.4/src/exec/libdx/fileio.c	2007-08-17 18:43:14.000000000 +0200
+@@ -263,7 +263,7 @@ Error _dxffile_open(char *name, int rw)
+ 	case 2:/* read/write */
+ 		fd = open(name, O_RDWR);
+ 		if (fd < 0) {
+-			fd = open(name, O_WRONLY | O_CREAT);
++			fd = open(name, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
+ 			if (fd < 0) {
+ 				DXSetError(ERROR_DATA_INVALID, 
+ 				"can't open/create file '%s'", name);
+--- dx-4.4.4/src/exec/libdx/plock.c.open	2002-07-17 06:48:18.000000000 +0200
++++ dx-4.4.4/src/exec/libdx/plock.c	2007-08-17 19:05:14.000000000 +0200
+@@ -37,7 +37,8 @@ struct seminfo *__buf;      /* buffer fo
+ 
+ #define SEM_FLAGS  	 (IPC_CREAT | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
+ #define SHM_FLAGS  	 (IPC_CREAT | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
+-#define OPEN_FLAGS 	 (O_CREAT | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
++#define OPEN_FLAGS	 (O_CREAT)
++#define OPEN_MODE 	 (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
+ #define IS_MINE(a)	 (locks->_owner[a] == getpid())
+ #define SET_OWNER(a)	 (locks->_owner[a] = getpid())
+ #define CLEAR_OWNER(a)	 (locks->_owner[a] = 0)
+@@ -268,7 +269,7 @@ PLockInit()
+ 
+     if (stat(LOCKFILE, &statbuf))
+     {
+-        int fd = open(LOCKFILE, OPEN_FLAGS);
++        int fd = open(LOCKFILE, OPEN_FLAGS, OPEN_MODE);
+ 	if (fd < 0)
+ 	{
+ 	    fprintf(stderr, "initLocks: error accessing locks shared block: open\n");
================================================================


More information about the pld-cvs-commit mailing list