hurdextras-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Changes to libfuse/netfs.c


From: Stefan Siegl
Subject: Changes to libfuse/netfs.c
Date: Fri, 09 Dec 2005 10:50:04 -0500

Index: libfuse/netfs.c
diff -u libfuse/netfs.c:1.39 libfuse/netfs.c:1.40
--- libfuse/netfs.c:1.39        Fri Dec  9 15:28:24 2005
+++ libfuse/netfs.c     Fri Dec  9 15:50:04 2005
@@ -367,7 +367,8 @@
 {
   (void) newnode;
 
-  FUNC_PROLOGUE_NODE("netfs_check_open_permissions", node);
+  FUNC_PROLOGUE_FMT("netfs_check_open_permissions", "node=%s, flags=%d", 
+                   node->nn->path, flags);
   error_t err = 0;
 
   if((err = netfs_validate_stat(node, user)))
@@ -382,9 +383,14 @@
   if (!err && (flags & O_EXEC))
     err = fshelp_access (&node->nn_stat, S_IEXEC, user);
 
-  /* store provided flags for later open/read/write/release operation call */
+  /* store provided flags for later open/read/write/release operation call.
+   *
+   * If O_EXEC is set, make sure O_RDONLY is set, this is, if you want to 
+   * execute a binary, only O_EXEC is set, but we want to read the binary
+   * into memory. */
   node->nn->info.flags = flags;
-
+  if(flags & O_EXEC) node->nn->info.flags |= O_RDONLY;
+  
  out:
   FUNC_EPILOGUE(err);
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]