OSDN Git Service

Support/Path: remove raw delete
authorDylan Noblesmith <nobled@dreamwidth.org>
Mon, 25 Aug 2014 00:58:13 +0000 (00:58 +0000)
committerDylan Noblesmith <nobled@dreamwidth.org>
Mon, 25 Aug 2014 00:58:13 +0000 (00:58 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216360 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/Path.cpp

index 4d17921..f633967 100644 (file)
@@ -881,7 +881,8 @@ std::error_code copy_file(const Twine &From, const Twine &To) {
   }
 
   const size_t BufSize = 4096;
-  char *Buf = new char[BufSize];
+  std::vector<char> Buffer(BufSize);
+  char *Buf = Buffer.data();
   int BytesRead = 0, BytesWritten = 0;
   for (;;) {
     BytesRead = read(ReadFD, Buf, BufSize);
@@ -898,7 +899,6 @@ std::error_code copy_file(const Twine &From, const Twine &To) {
   }
   close(ReadFD);
   close(WriteFD);
-  delete[] Buf;
 
   if (BytesRead < 0 || BytesWritten < 0)
     return std::error_code(errno, std::generic_category());