mingw: short-circuit the conversion of `/dev/null` to UTF-16
commit98d9b23e90510c5acafa2ebc9463cc2293f40df0
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Sat, 21 Dec 2019 22:05:00 +0000 (21 22:05 +0000)
committerJunio C Hamano <gitster@pobox.com>
Sun, 22 Dec 2019 00:09:06 +0000 (21 16:09 -0800)
treee3a8a6f5fd7c0105c2deab442d05cd1ba2fd319b
parent53a06cf39b756eddfe4a2a34da93e3d04eb7b728
mingw: short-circuit the conversion of `/dev/null` to UTF-16

In the next commit, we want to disallow accessing any path that contains
any segment that is equivalent to `NUL`. In particular, we want to
disallow accessing `NUL` (e.g. to prevent any repository from being
checked out that contains a file called `NUL`, as that is not a valid
file name on Windows).

However, there are legitimate use cases within Git itself to write to
the Null device. As Git is really a Linux project, it does not abstract
that idea, though, but instead uses `/dev/null` to describe this
intention.

So let's side-step the validation _specifically_ in the case that we
want to write to (or read from) `/dev/null`, via a dedicated short-cut
in the code that skips the call to `validate_win32_path()`.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/mingw.c