nnn

mirror of https://github.com/jarun/nnn
Log | Files | Refs | README | LICENSE

commit 0144b4e2d8c0c1b72575b7e4aa5fdf5f2c676e03
parent 1fd752d2005b4e211e03ee303277879de879b537
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date:   Fri, 27 Mar 2026 23:24:06 +0530

Do not auto-enter directories without permission

Diffstat:
Msrc/nnn.c | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/nnn.c b/src/nnn.c @@ -3883,14 +3883,16 @@ static int filterentries(char *path, char *lastname) if (cfg.autoenter) { /* If the only match is a dir, cd into it */ - if ((ndents == 1) && (pdents[0].flags & DIR_OR_DIRLNK)) { + if ((ndents == 1) && (pdents[0].flags & DIR_OR_DIRLNK) && xdiraccess(pdents[0].name)) { *ch = KEY_ENTER; cur = 0; goto end; } else if ((*ch == FILTER) && *pln) { /* If an exactly matching dir is present and filter key pressed, cd into it */ r = dentfind(pln, ndents); - if ((xstrcmp(pln, pdents[r].name) == 0) && (pdents[r].flags & DIR_OR_DIRLNK)) { + if (((r > 0) || (xstrcmp(pln, pdents[r].name) == 0)) + && (pdents[r].flags & DIR_OR_DIRLNK) + && xdiraccess(pdents[r].name)) { *ch = KEY_ENTER; cur = r; goto end;