]> git.cworth.org Git - tar/blobdiff - gnu/open.c
Merge branch 'dfsg-orig' into dfsg-debian
[tar] / gnu / open.c
index 7c2bbb81d975266bc34162f1a494a35f55524b67..1d066962aa31e8791a48f87be8a01263a045f93b 100644 (file)
@@ -113,7 +113,8 @@ open (const char *filename, int flags, ...)
      override fstat() in fchdir.c to hide the fact that we have a
      dummy.  */
   if (REPLACE_OPEN_DIRECTORY && fd < 0 && errno == EACCES
-      && (flags & O_ACCMODE) == O_RDONLY)
+      && ((flags & O_ACCMODE) == O_RDONLY
+          || (O_SEARCH != O_RDONLY && (flags & O_ACCMODE) == O_SEARCH)))
     {
       struct stat statbuf;
       if (stat (filename, &statbuf) == 0 && S_ISDIR (statbuf.st_mode))