From: Denys Vlasenko Date: Sun, 30 Nov 2014 18:39:58 +0000 (+0100) Subject: man: do not mangle $MANPATH in memory X-Git-Tag: 1_23_0~15 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=476654cdbeb2923fc5d2485701587b42579e1635;p=oweals%2Fbusybox.git man: do not mangle $MANPATH in memory Signed-off-by: Denys Vlasenko --- diff --git a/miscutils/man.c b/miscutils/man.c index ccb57a93f..c39870e67 100644 --- a/miscutils/man.c +++ b/miscutils/man.c @@ -155,9 +155,9 @@ static char **add_MANPATH(char **man_path_list, int *count_mp, char *path) next_path = strchr(path, ':'); if (next_path) { - *next_path = '\0'; - if (next_path++ == path) /* "::"? */ + if (next_path == path) /* "::"? */ goto next; + *next_path = '\0'; } /* Do we already have path? */ path_element = man_path_list; @@ -174,8 +174,10 @@ static char **add_MANPATH(char **man_path_list, int *count_mp, char *path) skip: if (!next_path) break; + /* "path" may be a result of getenv(), be nice and don't mangle it */ + *next_path = ':'; next: - path = next_path; + path = next_path + 1; } return man_path_list; }