diff options
author | attilamolnar <attilamolnar@hush.com> | 2012-07-09 18:06:08 +0200 |
---|---|---|
committer | attilamolnar <attilamolnar@hush.com> | 2012-07-11 16:34:50 +0200 |
commit | 074a96c9ffc85763da833bccadefc9978152482c (patch) | |
tree | 76af533d362cc62a348f5beeb3c2a8ab0ceeab8a /src | |
parent | fa586546fa8b7d17199d08bc7f9814de7aaa3ac7 (diff) |
Close files opened with popen() with pclose() instead of fclose()
Diffstat (limited to 'src')
-rw-r--r-- | src/configparser.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/configparser.cpp b/src/configparser.cpp index a8e36f6e0..b6e3f7187 100644 --- a/src/configparser.cpp +++ b/src/configparser.cpp @@ -307,7 +307,7 @@ void ParseStack::DoReadFile(const std::string& key, const std::string& name, int if (exec && (flags & FLAG_NO_EXEC)) throw CoreException("Invalid <execfiles> tag in file included with noexec=\"yes\""); - FileWrapper file(exec ? popen(name.c_str(), "r") : fopen(name.c_str(), "r")); + FileWrapper file(exec ? popen(name.c_str(), "r") : fopen(name.c_str(), "r"), exec); if (!file) throw CoreException("Could not read \"" + name + "\" for \"" + key + "\" file"); @@ -364,7 +364,7 @@ bool ParseStack::ParseExec(const std::string& name, int flags) /* It's not already included, add it to the list of files we've loaded */ - FileWrapper file(popen(name.c_str(), "r")); + FileWrapper file(popen(name.c_str(), "r"), true); if (!file) throw CoreException("Could not open executable \"" + name + "\" for include"); |