| Index: runtime/bin/file_macos.cc
|
| diff --git a/runtime/bin/file_macos.cc b/runtime/bin/file_macos.cc
|
| index 920d01f230896bd41fee5744f4582d0f4ad4dfd2..7506cbfbb260ac066bf8121c51c533dbf853d369 100644
|
| --- a/runtime/bin/file_macos.cc
|
| +++ b/runtime/bin/file_macos.cc
|
| @@ -109,7 +109,8 @@ File* File::Open(const char* name, FileOpenMode mode) {
|
| // Report errors for non-regular files.
|
| struct stat st;
|
| if (TEMP_FAILURE_RETRY(stat(name, &st)) == 0) {
|
| - if (!S_ISREG(st.st_mode)) {
|
| + // Only accept regular files and character devices.
|
| + if (!S_ISREG(st.st_mode) && !S_ISCHR(st.st_mode)) {
|
| errno = (S_ISDIR(st.st_mode)) ? EISDIR : ENOENT;
|
| return NULL;
|
| }
|
|
|