diff options
author | Ori Bernstein <ori@eigenstate.org> | 2022-12-02 23:20:00 +0000 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2022-12-02 23:20:00 +0000 |
commit | 3ee79baf89443f47c6194fbae65d215365e885a0 (patch) | |
tree | 5acfd9e9b7b7767bbf0db18de948c69d6876c35a /sys/src | |
parent | d67e83ed27fbb11ad21880352e706e095ecc0dfb (diff) |
git: prevent infinite recursion with cyclic symlinks (thanks cosa)
Diffstat (limited to 'sys/src')
-rw-r--r-- | sys/src/cmd/git/fs.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/src/cmd/git/fs.c b/sys/src/cmd/git/fs.c index 7e6b4bf87..85ba2e053 100644 --- a/sys/src/cmd/git/fs.c +++ b/sys/src/cmd/git/fs.c @@ -453,6 +453,9 @@ walklink(Gitaux *aux, char *link, int nlink, int ndotdot, int *mode) break; } free(path); + for(i = 0; o != nil && i < aux->ncrumb; i++) + if(crumb(aux, i)->obj == o) + return nil; return o; } |