aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-03-18 19:43:04 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-03-18 19:43:04 +0100
commit72103e73c9a76784b9e8b27a7d5b802178d6755b (patch)
tree1a250b52aba642cab342d056a09c08f1032f409c /nptl/tst-robust7.c
parenthurd: Fix O_NOFOLLOW (diff)
downloadglibc-72103e73c9a76784b9e8b27a7d5b802178d6755b.tar.gz
glibc-72103e73c9a76784b9e8b27a7d5b802178d6755b.tar.bz2
glibc-72103e73c9a76784b9e8b27a7d5b802178d6755b.zip
hurd: Fix O_DIRECTORY | O_NOFOLLOW
Appending / to the path to be looked up would make us always follow a final symlink, even with O_NOTRANS (since the final resolution is after the '/'). In the O_DIRECTORY | O_NOFOLLOW case, we thus have to really open the node and stat it, which we already do anyway, and check for directory type. * hurd/hurdlookup.c (__hurd_file_name_lookup): Do not append '/' to path when flags contains O_NOFOLLOW. * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Return ENOTDIR if flags contains O_DIRECTORY and the result is a directory.
Diffstat (limited to 'nptl/tst-robust7.c')
0 files changed, 0 insertions, 0 deletions