diff --git a/src/browser.c b/src/browser.c index 832bd00..2a37a9a 100644 --- a/src/browser.c +++ b/src/browser.c @@ -81,9 +81,15 @@ char *do_browser(char *path) dir = opendir(path); if (path == NULL || dir == NULL) { - statusline(ALERT, "Cannot enter directory: %s", strerror(errno)); - path = mallocstrcpy(path, present_path); - present_name = mallocstrcpy(present_name, filelist[selected]); + if (filelist != NULL) { + statusline(ALERT, "Cannot enter directory: %s", strerror(errno)); + present_name = mallocstrcpy(present_name, filelist[selected]); + } else { + statusline(ALERT, "Cannot enter directory where nano was " + "invoked: %s", strerror(errno)); + } + + path = mallocstrcpy(path, present_path); } else if (newpath != NULL && strcmp(tail(newpath), "..") == 0) /* We moved up a level -- remember where we came from, so * this directory can be highlighted and easily reentered. */