summaryrefslogtreecommitdiffstats
path: root/lib/Plugins/SOSreport.cpp
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-01-11 07:18:56 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-01-11 07:18:56 +0100
commit658622eb5e1b81d394f066df44bc9f0abe9cc807 (patch)
treea7b3fb997a47cbc6bd134b699bf6181cb74d2f8a /lib/Plugins/SOSreport.cpp
parentb0abdde8871b0366868b917df040a8880165ba30 (diff)
downloadabrt-658622eb5e1b81d394f066df44bc9f0abe9cc807.tar.gz
abrt-658622eb5e1b81d394f066df44bc9f0abe9cc807.tar.xz
abrt-658622eb5e1b81d394f066df44bc9f0abe9cc807.zip
RunApp: safer chdir. Overhauled "sparn a child and get its output" in general
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'lib/Plugins/SOSreport.cpp')
-rw-r--r--lib/Plugins/SOSreport.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Plugins/SOSreport.cpp b/lib/Plugins/SOSreport.cpp
index 6f23165..899b446 100644
--- a/lib/Plugins/SOSreport.cpp
+++ b/lib/Plugins/SOSreport.cpp
@@ -91,7 +91,9 @@ void CActionSOSreport::Run(const char *pActionDir, const char *pArgs)
update_client(_("running sosreport: %s"), command.c_str());
std::string output = command;
output += '\n';
- output += popen_and_save_output(command.c_str());
+ char *command_out = run_in_shell_and_save_output(/*flags:*/ 0, command.c_str(), /*dir:*/ NULL, /*size_p:*/ NULL);
+ output += command_out;
+ free(command_out);
update_client(_("done running sosreport"));
std::string sosreport_filename = ParseFilename(output);