diff --git a/stdlib/public/runtime/Paths.cpp b/stdlib/public/runtime/Paths.cpp index c247043521f2d..3958098256b79 100644 --- a/stdlib/public/runtime/Paths.cpp +++ b/stdlib/public/runtime/Paths.cpp @@ -548,8 +548,9 @@ _swift_initRuntimePath(void *) { // this is needed with Musl when statically linking because in that case // dladdr() does nothing. char pathBuf[4096]; - ssize_t len = readlink("/proc/self/exe", pathBuf, sizeof(pathBuf)); - if (len > 0 && len < sizeof(pathBuf)) { + ssize_t len = readlink("/proc/self/exe", pathBuf, sizeof(pathBuf)-1); + if (len > 0 ) { + pathBuf[len] = '\0'; runtimePath = ::strdup(pathBuf); return; }