From: Rui Ueyama Date: Mon, 13 Mar 2017 22:19:05 +0000 (+0000) Subject: Make FileOutputBuffer fail early if you pass a directory. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bb60730437f512d4465581b88ccda2375b3f4f3e;p=llvm Make FileOutputBuffer fail early if you pass a directory. Previously, it created a temporary directory and then failed when FileOutputBuffer tried to rename that file to the destination file (which is actually a directory name). Differential Revision: https://reviews.llvm.org/D30912 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297679 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Support/FileOutputBuffer.cpp b/lib/Support/FileOutputBuffer.cpp index 57e5a8d7871..731740d012d 100644 --- a/lib/Support/FileOutputBuffer.cpp +++ b/lib/Support/FileOutputBuffer.cpp @@ -57,6 +57,8 @@ FileOutputBuffer::create(StringRef FilePath, size_t Size, unsigned Flags) { // FIXME: In posix, you use the access() call to check this. } break; + case sys::fs::file_type::directory_file: + return errc::is_a_directory; default: if (EC) return EC;