summaryrefslogtreecommitdiff
path: root/sys/src
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2022-12-02 23:20:00 +0000
committerOri Bernstein <ori@eigenstate.org>2022-12-02 23:20:00 +0000
commit3ee79baf89443f47c6194fbae65d215365e885a0 (patch)
tree5acfd9e9b7b7767bbf0db18de948c69d6876c35a /sys/src
parentd67e83ed27fbb11ad21880352e706e095ecc0dfb (diff)
git: prevent infinite recursion with cyclic symlinks (thanks cosa)
Diffstat (limited to 'sys/src')
-rw-r--r--sys/src/cmd/git/fs.c3
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;
}