[DragonFlyBSD - Bug #3282] (In Progress) unexpected errno value from fopen()

swildner bugtracker-admin at leaf.dragonflybsd.org
Sun Oct 11 11:24:33 PDT 2026


Issue #3282 has been updated by swildner.

Status changed from Resolved to In Progress

I have reopened this issue because nlookup() isn't the right place for fixing the fopen() issue.

nlookup() affects more than just fopen(), such as mkdir() where EISDIR is wrong, like shown by git itself with this patch:

# git format-patch master
fatal: could not create directory './': Is a directory

It has to be revisited.


----------------------------------------
Bug #3282: unexpected errno value from fopen()
http://bugs.dragonflybsd.org/issues/3282#change-14836

* Author: bhaible
* Status: In Progress
* Priority: Normal
* Category: Kernel
* Target version: 6.4
* Start date: 2021-06-14
----------------------------------------
fopen(".", "w") fails with errno = EEXIST.
Per POSIX https://pubs.opengroup.org/onlinepubs/9699919799/functions/fopen.html
one would expect one of EISDIR, EINVAL, EACCES.

How to reproduce: Run this program.

<pre>
#include <errno.h>
#include <stdio.h>

int main ()
{
  FILE *fp = fopen (".", "w");
  if (fp == NULL)
    {
      perror ("fopen");
    }
}

</pre>

---Files--------------------------------
sys.kern.vfs_nlookup.c.diff (6.7 KB)


-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account


More information about the Bugs mailing list