diff --git a/src/main.cpp b/src/main.cpp index bc3b48453..176579b90 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3012,15 +3012,15 @@ int main(int argc, const char * argv[]) { char buff[PATH_MAX+1]; ssize_t len = -1; #if defined(__APPLE__) - uint32_t bufsize = sizeof(buff) - 1; + uint32_t bufsize = sizeof(buff); if (_NSGetExecutablePath(buff, &bufsize) == 0) { - len = bufsize; // Resolve symlinks to get the real path char resolved[PATH_MAX]; if (realpath(buff, resolved) != NULL) { strncpy(buff, resolved, sizeof(buff) - 1); - len = strlen(buff); + buff[sizeof(buff) - 1] = '\0'; } + len = strlen(buff); } #elif defined(__FreeBSD__) len = readlink("/proc/curproc/file", buff, sizeof(buff)-1);