fix: address review feedback on error routing

- Route os.Lstat(resolved) errors through walkFn with original symlink
  info, so callers can decide whether to skip based on .helmignore
- Keep info reassignment from Lstat to prevent infinite recursion
  on symlink-to-directory paths

Signed-off-by: Kartik Suryavanshi <kartik.suryavanshi@outlook.com>
Signed-off-by: Kartik Suryavanshi <158498247+KartikSuryavanshi@users.noreply.github.com>
pull/32264/head
Kartik Suryavanshi 3 months ago
parent 8bc1c04c11
commit 67e71e18ed

@ -74,7 +74,9 @@ func symwalk(path string, info os.FileInfo, walkFn filepath.WalkFunc) error {
// This log message is to highlight a symlink that is being used within a chart, symlinks can be used for nefarious reasons.
slog.Info("found symbolic link in path. Contents of linked file included and used", "path", path, "resolved", resolved)
if info, err = os.Lstat(resolved); err != nil {
return err
// Route through walkFn with the original symlink info so callers
// can decide whether to skip it based on .helmignore rules.
return walkFn(path, info, err)
}
if err := symwalk(path, info, walkFn); err != nil && err != filepath.SkipDir {
return err

Loading…
Cancel
Save