Skip to content

Commit

Permalink
setup: translate symlinks in filename when using absolute paths
Browse files Browse the repository at this point in the history
otherwise, comparison to validate against work tree will fail when
the path includes a symlink and the name passed is not canonical.

Signed-off-by: Carlo Marcelo Arenas Belon <carenas@sajinet.com.pe>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Carlo Marcelo Arenas Belon authored and Junio C Hamano committed Jan 4, 2011
1 parent 0ed7481 commit 18e051a
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@ static int inside_work_tree = -1;
const char *prefix_path(const char *prefix, int len, const char *path)
{
const char *orig = path;
char *sanitized = xmalloc(len + strlen(path) + 1);
if (is_absolute_path(orig))
strcpy(sanitized, path);
else {
char *sanitized;
if (is_absolute_path(orig)) {
const char *temp = make_absolute_path(path);
sanitized = xmalloc(len + strlen(temp) + 1);
strcpy(sanitized, temp);
} else {
sanitized = xmalloc(len + strlen(path) + 1);
if (len)
memcpy(sanitized, prefix, len);
strcpy(sanitized + len, path);
Expand Down

0 comments on commit 18e051a

Please sign in to comment.