We should not try and perform operations on an invalid DIR* stream. Instead, we shall let the error message be printed, and the return code set (existing behaviour) and abort afterwards. --- ls.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/ls.c b/ls.c
index 5080c8f..b716aba 100644
--- a/ls.c
+++ b/ls.c
@@ -250,6 +250,7 @@ lsdir(const char *path, const struct entry *dir)
if (!(dp = opendir(dir->name))) {
ret = 1;
weprintf("opendir %s%s:", path, dir->name);
+ return;
}
if (chdir(dir->name) < 0)
eprintf("chdir %s:", dir->name);
--
2.14.1
signature.asc
Description: PGP signature
