Avoid possible overflow in OS_Unix readlink

Also fix [-Wunused-result]
This commit is contained in:
Fabio Alessandrelli 2018-10-02 20:42:57 +02:00
parent 83acd5f17e
commit 5393e7310d

View file

@ -487,9 +487,11 @@ String OS_Unix::get_executable_path() const {
//fix for running from a symlink
char buf[256];
memset(buf, 0, 256);
readlink("/proc/self/exe", buf, sizeof(buf));
ssize_t len = readlink("/proc/self/exe", buf, sizeof(buf));
String b;
b.parse_utf8(buf);
if (len > 0) {
b.parse_utf8(buf, len);
}
if (b == "") {
WARN_PRINT("Couldn't get executable path from /proc/self/exe, using argv[0]");
return OS::get_executable_path();