Fix accessing files on networked drives on MS-Windows
* src/w32.c (acl_get_file): Set errno to ENOTSUP if get_file_security returns ERROR_NOT_SUPPORTED. (Bug#41463)
This commit is contained in:
12
src/w32.c
12
src/w32.c
@@ -6398,7 +6398,15 @@ acl_get_file (const char *fname, acl_type_t type)
|
||||
if (!get_file_security (fname, si, psd, sd_len, &sd_len))
|
||||
{
|
||||
xfree (psd);
|
||||
errno = EIO;
|
||||
err = GetLastError ();
|
||||
if (err == ERROR_NOT_SUPPORTED)
|
||||
errno = ENOTSUP;
|
||||
else if (err == ERROR_FILE_NOT_FOUND
|
||||
|| err == ERROR_PATH_NOT_FOUND
|
||||
|| err == ERROR_INVALID_NAME)
|
||||
errno = ENOENT;
|
||||
else
|
||||
errno = EIO;
|
||||
psd = NULL;
|
||||
}
|
||||
}
|
||||
@@ -6409,6 +6417,8 @@ acl_get_file (const char *fname, acl_type_t type)
|
||||
be encoded in the current ANSI codepage. */
|
||||
|| err == ERROR_INVALID_NAME)
|
||||
errno = ENOENT;
|
||||
else if (err == ERROR_NOT_SUPPORTED)
|
||||
errno = ENOTSUP;
|
||||
else
|
||||
errno = EIO;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user