diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-23 03:31:04 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-23 03:31:04 -0500 |
| commit | a3e57f39fdfaf5a22a1fe1f2a1a53b6d29b91bb3 (patch) | |
| tree | 9dcfe81224056a4449cc544ea71cdf23699a1aa0 /README.org | |
| parent | e1c58039ddf4566af57213b747b3c3a6365f4b09 (diff) | |
| download | dotemacs-a3e57f39fdfaf5a22a1fe1f2a1a53b6d29b91bb3.tar.gz dotemacs-a3e57f39fdfaf5a22a1fe1f2a1a53b6d29b91bb3.zip | |
fix(dirvish): guard nil file and reject path-traversal playlist names
cj/set-wallpaper passed `(dired-file-name-at-point)` straight to `expand-file-name`, so running it with no file at point raised a bare `wrong-type-argument` instead of a clear error. cj/dired-create-playlist-from-marked expanded the raw playlist name under `music-dir` without checking it, so a name like "../foo" or "/etc/foo" would write outside the music directory.
I added a nil-file guard to set-wallpaper and a `cj/--playlist-name-safe-p` check that rejects any name carrying a directory separator before the path is built. Both paths now fail cleanly with a user-error. Regression tests went into the existing wrapper and playlist test files.
Diffstat (limited to 'README.org')
0 files changed, 0 insertions, 0 deletions
