Index: runtime/bin/file_macos.cc |
diff --git a/runtime/bin/file_macos.cc b/runtime/bin/file_macos.cc |
index 401b6870158f7e8db916d1942b17a87cc0aec94e..4556b6bbd2c0dda71cbcc1311242ccafed573ca7 100644 |
--- a/runtime/bin/file_macos.cc |
+++ b/runtime/bin/file_macos.cc |
@@ -380,6 +380,12 @@ void File::Stat(const char* name, int64_t* data) { |
time_t File::LastModified(const char* name) { |
struct stat st; |
if (NO_RETRY_EXPECTED(stat(name, &st)) == 0) { |
+ // Signal an error if it's a directory. |
+ if (S_ISDIR(st.st_mode)) { |
+ errno = EISDIR; |
+ return -1; |
+ } |
+ // Otherwise assume the caller knows what it's doing. |
return st.st_mtime; |
} |
return -1; |