]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
[pzstd] Check if input is a directory
authorNick Terrell <terrelln@fb.com>
Wed, 21 Sep 2016 23:25:08 +0000 (16:25 -0700)
committerNick Terrell <terrelln@fb.com>
Wed, 21 Sep 2016 23:25:08 +0000 (16:25 -0700)
contrib/pzstd/Pzstd.cpp

index 5dd84124d338dd46b627333e8f270ff378fa594c..978eb9968b4aabbd71dac1dbe36d039fe66945dc 100644 (file)
@@ -102,6 +102,14 @@ static FILE *openInputFile(const std::string &inputFile,
     SET_BINARY_MODE(stdin);
     return stdin;
   }
+  // Check if input file is a directory
+  {
+    std::error_code ec;
+    if (is_directory(inputFile, ec)) {
+      errorHolder.setError("Output file is a directory -- ignored");
+      return nullptr;
+    }
+  }
   auto inputFd = std::fopen(inputFile.c_str(), "rb");
   if (!errorHolder.check(inputFd != nullptr, "Failed to open input file")) {
     return nullptr;