fix(fs, model): improve symlink resilience in file shortcut (#10739)

Ensure file was a file before the shortcut as well as after... (This was
implied when talking to a correct implementation, but not enforced.)

Make our file opening operations safe by default by ensuring the last
path component is not a symlink.

---------

Signed-off-by: Jakob Borg <jakob@kastelo.net>
This commit is contained in:
Jakob Borg
2026-06-11 18:50:11 +02:00
committed by GitHub
parent 5dbf809a4c
commit a5cbeeafea
4 changed files with 9 additions and 19 deletions
+1 -1
View File
@@ -382,7 +382,7 @@ loop:
if err != nil {
return nil, nil, err
}
if hasCurFile && file.BlocksEqual(curFile) {
if hasCurFile && curFile.Type == file.Type && file.BlocksEqual(curFile) {
// We are supposed to copy the entire file, and then fetch nothing. We
// are only updating metadata, so we don't actually *need* to make the
// copy.