diff --git a/bin/tagpreview.sh b/bin/tagpreview.sh index 48ee539..01bfa30 100755 --- a/bin/tagpreview.sh +++ b/bin/tagpreview.sh @@ -30,9 +30,12 @@ else exit 1 fi +# The address comes from a tags file, which can be untrusted, and a preview +# runs as soon as an entry is highlighted. Sandboxed as a builtin tag jump is, +# so that it cannot run a shell command or touch a file CENTER="$("${VIMNAME}" -R -i NONE -u NONE -e -m -s "${FILE}" \ -c "set nomagic" \ - -c "silent ${EXCMD}" \ + -c "silent sandbox ${EXCMD}" \ -c 'let l=line(".") | new | put =l | print | qa!')" || exit START_LINE="$(( CENTER - FZF_PREVIEW_LINES / 2 ))"