When passing "xyz" to make_absolute_path(), make_absolute_path() erroneously tried to chdir("xyz"), and then append "/xyz". Instead, skip the chdir() completely when no slash was found.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> ---
I should add a test, but I am simply too tired now. Will do so tomorrow.
path.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
Show changes to path.c +3 −1
diff --git a/path.c b/path.c index 4260952..bf3e469 100644 --- a/path.c +++ b/path.c @@ -311,8 +311,10 @@ const char *make_absolute_path(const char *path) if (last_slash) { *last_slash = '\0'; last_elem = xstrdup(last_slash + 1); - } else + } else { + *buf = '\0'; last_elem = xstrdup(buf); + } } if (*buf) {
-- 1.5.4.3.446.gbe8932