Browse Source

libobs: Fix os_get_executable_path_ptr on Linux

Terminate a non-terminated string generated by readlink()
to pass to dirname() that needs terminated string as a parameter.
Masato Takahashi 5 years ago
parent
commit
4ded3b39fd
1 changed files with 4 additions and 1 deletions
  1. 4 1
      libobs/util/platform-nix.c

+ 4 - 1
libobs/util/platform-nix.c

@@ -287,7 +287,10 @@ char *os_get_executable_path_ptr(const char *name)
 	}
 	count = pathlen;
 #else
-	ssize_t count = readlink("/proc/self/exe", exe, PATH_MAX);
+	ssize_t count = readlink("/proc/self/exe", exe, PATH_MAX - 1);
+	if (count >= 0) {
+		exe[count] = '\0';
+	}
 #endif
 	const char *path_out = NULL;
 	struct dstr path;