Revert "initd: fix off-by-one error in mkdev.c"
authorNick Hainke <vincent@systemli.org>
Tue, 31 Aug 2021 09:09:18 +0000 (11:09 +0200)
committerDaniel Golle <daniel@makrotopia.org>
Tue, 31 Aug 2021 11:24:14 +0000 (12:24 +0100)
commit20adf538b33c9b38b7ca3951f3c2ff4192e57660
tree002ef5b7c0fbb311e62c1150f856e655a7e0ec27
parent269c9e4c7e5b6a726712abf939255980f03266c5
Revert "initd: fix off-by-one error in mkdev.c"

This reverts commit 8eb1d783cca6e0d501dd3a2f94262ffc36ae6482.

This line reads a symbolic link into the string buffer "buf".
len = readlink(buf2, buf, sizeof(buf));
The commit replaced now
buf[len] = 0;
with
buf[sizeof(buf) - 1] = '\0';

However, that does not work since readlink does not null-terminate
the string written into "buf" and  "buf[len] = 0" was used for that.

What happens if the buffer is to small?
"If the buf argument is not large enough to contain the link content,
the first bufsize bytes shall be placed in buf."
(Source: https://pubs.opengroup.org/onlinepubs/009695399/functions/readlink.htm)

Signed-off-by: Nick Hainke <vincent@systemli.org>
initd/mkdev.c