X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Futils.cpp;h=7cd61c049c3ffeae0b7bdcf74dc5a0eb9a6c58da;hb=ef4a570db1fbc6ffa5f645e76c4cf25e8098aee1;hp=831926aab16c48656082113a984386d530be3203;hpb=cd9adb8b829564212158943a0d279bb35322ab30;p=lttng-tools.git diff --git a/src/common/utils.cpp b/src/common/utils.cpp index 831926aab..7cd61c049 100644 --- a/src/common/utils.cpp +++ b/src/common/utils.cpp @@ -1020,10 +1020,23 @@ static const char *get_man_bin_path() return DEFAULT_MAN_BIN_PATH; } +static const char *get_manpath() +{ + char *manpath = lttng_secure_getenv(DEFAULT_MANPATH); + + if (manpath) { + return manpath; + } + + /* As defined during configuration. */ + return MANPATH; +} + int utils_show_help(int section, const char *page_name, const char *help_msg) { char section_string[8]; const char *man_bin_path = get_man_bin_path(); + const char *manpath = get_manpath(); int ret = 0; if (help_msg) { @@ -1032,7 +1045,7 @@ int utils_show_help(int section, const char *page_name, const char *help_msg) } /* Section integer -> section string */ - ret = sprintf(section_string, "%d", section); + ret = snprintf(section_string, sizeof(section_string), "%d", section); LTTNG_ASSERT(ret > 0 && ret < 8); /* @@ -1042,7 +1055,7 @@ int utils_show_help(int section, const char *page_name, const char *help_msg) * be installed outside /usr, in which case its man pages are * not located in the default /usr/share/man directory. */ - ret = execlp(man_bin_path, "man", "-M", MANPATH, section_string, page_name, NULL); + ret = execlp(man_bin_path, "man", "-M", manpath, section_string, page_name, NULL); end: return ret;