mirror of
https://github.com/git/git.git
synced 2024-11-28 20:44:04 +08:00
setup: translate symlinks in filename when using absolute paths
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>
This commit is contained in:
parent
0ed7481347
commit
18e051a398
11
setup.c
11
setup.c
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user