read-cache: check for leading symlinks when refreshing index
Don't add paths with leading symlinks to the index while refreshing; we only track those symlinks themselves. We already ignore them while preloading (see read_index_preload.c). Reported-by: Nikolay Avdeev <avdeev@math.vsu.ru> Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
d31f3ad23d
commit
ccad42d483
@ -1044,6 +1044,14 @@ static struct cache_entry *refresh_cache_ent(struct index_state *istate,
|
||||
return ce;
|
||||
}
|
||||
|
||||
if (has_symlink_leading_path(ce->name, ce_namelen(ce))) {
|
||||
if (ignore_missing)
|
||||
return ce;
|
||||
if (err)
|
||||
*err = ENOENT;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (lstat(ce->name, &st) < 0) {
|
||||
if (ignore_missing && errno == ENOENT)
|
||||
return ce;
|
||||
|
||||
Reference in New Issue
Block a user