← Commit list

476654cdb

Denys Vlasenko
Denys Vlasenko
2014-11-30
SUCCESS Duration: 157s

Subject

man: do not mangle $MANPATH in memory

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

miscutils/man.c+5 -3
@@ -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;
}