From 87a68e4e69cc0a96adaf169fc1a9f9a02f1a6054 Mon Sep 17 00:00:00 2001 From: Steve Gury Date: Mon, 24 Aug 2015 16:49:22 -0700 Subject: [PATCH] MacOSX WatchService check for null file in recursiveListFiles It's possible to have listFiles return a null in specific conditions (I believe if the directory is deleted). This code should check for that before using the file variable. --- .../watchservice/MacOSXListeningWatchService.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/barbarysoftware/watchservice/MacOSXListeningWatchService.java b/src/main/java/com/barbarysoftware/watchservice/MacOSXListeningWatchService.java index 8dadadd..47fc2b2 100644 --- a/src/main/java/com/barbarysoftware/watchservice/MacOSXListeningWatchService.java +++ b/src/main/java/com/barbarysoftware/watchservice/MacOSXListeningWatchService.java @@ -110,10 +110,12 @@ private Map createLastModifiedMap(File file) { private static Set recursiveListFiles(File file) { Set files = new HashSet(); - files.add(file); - if (file.isDirectory()) { - for (File child : file.listFiles()) { - files.addAll(recursiveListFiles(child)); + if (file != null) { + files.add(file); + if (file.isDirectory()) { + for (File child : file.listFiles()) { + files.addAll(recursiveListFiles(child)); + } } } return files;