Index: runtime/bin/directory_macos.cc |
diff --git a/runtime/bin/directory_macos.cc b/runtime/bin/directory_macos.cc |
index a10b20a98a350adef41242d6462417ea8cffa80f..5c0f5a6efe02987b8d4363d5223d1a1d2198d9d1 100644 |
--- a/runtime/bin/directory_macos.cc |
+++ b/runtime/bin/directory_macos.cc |
@@ -369,15 +369,17 @@ char* Directory::CurrentNoScope() { |
const char* Directory::Current() { |
- char* result = DartUtils::ScopedCString(PATH_MAX); |
- ASSERT(result != NULL); |
- return getcwd(result, PATH_MAX); |
+ char buffer[PATH_MAX]; |
+ if (getcwd(buffer, PATH_MAX) == NULL) { |
+ return NULL; |
+ } |
+ return DartUtils::ScopedCopyCString(buffer); |
} |
bool Directory::SetCurrent(const char* path) { |
int result = NO_RETRY_EXPECTED(chdir(path)); |
- return result == 0; |
+ return (result == 0); |
} |