From f7228a6479cc8c88a23138980d958c4c431dd6a5 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 11 Sep 2019 23:22:46 -0700 Subject: [PATCH] Fix directory-files-and-attributes race * src/dired.c (directory_files_internal): Fix race condition: when some other process removed a file between the readdir and the ensuing lstat, directory-files-and-attributes would return a list containing nil. --- src/dired.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dired.c b/src/dired.c index 7bc4b83fd77..58fa848e2e3 100644 --- a/src/dired.c +++ b/src/dired.c @@ -295,7 +295,8 @@ directory_files_internal (Lisp_Object directory, Lisp_Object full, { Lisp_Object fileattrs = file_attributes (fd, dp->d_name, directory, name, id_format); - list = Fcons (Fcons (finalname, fileattrs), list); + if (!NILP (fileattrs)) + list = Fcons (Fcons (finalname, fileattrs), list); } else list = Fcons (finalname, list); -- 2.39.5