Merge pull request #1649 from ethereum/solc-fix-mkdir

Do not create directories . and ..
This commit is contained in:
Alex Beregszaszi 2017-02-06 15:14:49 +00:00 committed by GitHub
commit 3cbdafcfe9
2 changed files with 4 additions and 1 deletions

View File

@ -5,6 +5,7 @@ Features:
Bugfixes:
* Commandline interface: Always escape filenames (replace ``/``, ``:`` and ``.`` with ``_``).
* Commandline interface: Do not try creating paths ``.`` and ``..``.
* Type system: Disallow arrays with negative length.
### 0.4.9 (2017-01-31)

View File

@ -461,7 +461,9 @@ void CommandLineInterface::createFile(string const& _fileName, string const& _da
namespace fs = boost::filesystem;
// create directory if not existent
fs::path p(m_args.at(g_argOutputDir).as<string>());
fs::create_directories(p);
// Do not try creating the directory if the first item is . or ..
if (p.filename() != "." && p.filename() != "..")
fs::create_directories(p);
string pathName = (p / _fileName).string();
ofstream outFile(pathName);
outFile << _data;