Fix NULL file name handling

This commit is contained in:
Arun Prakash Jana 2021-08-25 00:47:52 +05:30
parent 900513710f
commit a62dbf093a
No known key found for this signature in database
GPG Key ID: A75979F35C080412
1 changed files with 5 additions and 4 deletions

View File

@ -4163,7 +4163,7 @@ static void savecurctx(char *path, char *curname, int nextctx)
context *ctxr = &g_ctx[nextctx];
/* Save current context */
if (ndents)
if (curname)
xstrsncpy(g_ctx[tmpcfg.curctx].c_name, curname, NAME_MAX + 1);
else
g_ctx[tmpcfg.curctx].c_name[0] = '\0';
@ -4345,7 +4345,8 @@ static void set_smart_ctx(int ctx, char *nextpath, char **path, char **lastname,
--ctx;
/* Deactivate the new context and build from scratch */
g_ctx[ctx].c_cfg.ctxactive = 0;
savecurctx(nextpath, pdents[cur].name, ctx);
DPRINTF_S(nextpath);
savecurctx(nextpath, ndents ? pdents[cur].name : NULL, ctx);
*path = g_ctx[ctx].c_path;
*lastdir = g_ctx[ctx].c_last;
*lastname = g_ctx[ctx].c_name;
@ -6589,7 +6590,7 @@ nochange:
if (r >= CTX_MAX)
sel = SEL_BACK;
else if (r >= 0 && r != cfg.curctx) {
savecurctx(path, pdents[cur].name, r);
savecurctx(path, ndents ? pdents[cur].name : NULL, r);
/* Reset the pointers */
path = g_ctx[r].c_path;
@ -6970,7 +6971,7 @@ nochange:
r = handle_context_switch(sel);
if (r < 0)
continue;
savecurctx(path, pdents[cur].name, r);
savecurctx(path, ndents ? pdents[cur].name : NULL, r);
/* Reset the pointers */
path = g_ctx[r].c_path;