[git commit] man: do not mangle $MANPATH in memory

Denys Vlasenko vda.linux at googlemail.com
Sun Nov 30 18:39:58 UTC 2014


commit: http://git.busybox.net/busybox/commit/?id=476654cdbeb2923fc5d2485701587b42579e1635
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 miscutils/man.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/miscutils/man.c b/miscutils/man.c
index ccb57a9..c39870e 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;
 }


More information about the busybox-cvs mailing list