This is a notty one. The behavour has indeed changed, ENOENT was the previous return and now we return EINVAL. I do not have a POSIX manual to hand, but the gist of the restriction is as below:
Empty pathname
In the original Unix, the empty pathname referred to the current
directory. Nowadays POSIX decrees that an empty pathname must not be
resolved successfully. Linux returns ENOENT in this case.
It could be argued that the new behaviour is just as valid. A change is however unhelpful. Especially as kernel behaviour is exposed in chroots.
This is a notty one. The behavour has indeed changed, ENOENT was the previous return and now we return EINVAL. I do not have a POSIX manual to hand, but the gist of the restriction is as below:
Empty pathname
In the original Unix, the empty pathname referred to the current
directory. Nowadays POSIX decrees that an empty pathname must not be
resolved successfully. Linux returns ENOENT in this case.
It could be argued that the new behaviour is just as valid. A change is however unhelpful. Especially as kernel behaviour is exposed in chroots.