diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-01-28 15:03:31 +0100 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-01-28 15:03:31 +0100 |
| commit | ef0f59ef4bcfe0776f24def077cef74ccdc16293 (patch) | |
| tree | cf03e98307a6a106c2b70ec17e303c809e395900 /lib | |
| parent | 3ede050314fb29e18ab9b1d87ad20e304120b59c (diff) | |
| download | abrt-ef0f59ef4bcfe0776f24def077cef74ccdc16293.tar.gz abrt-ef0f59ef4bcfe0776f24def077cef74ccdc16293.tar.xz abrt-ef0f59ef4bcfe0776f24def077cef74ccdc16293.zip | |
SOSreport: do not leave stray files in /tmp
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Plugins/SOSreport.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/Plugins/SOSreport.cpp b/lib/Plugins/SOSreport.cpp index 500f858..bc71e23 100644 --- a/lib/Plugins/SOSreport.cpp +++ b/lib/Plugins/SOSreport.cpp @@ -109,14 +109,19 @@ void CActionSOSreport::Run(const char *pActionDir, const char *pArgs, int force) update_client(_("Done running sosreport")); VERB3 log("sosreport output:'%s'", output.c_str()); + // Parse: + // "Your sosreport has been generated and saved in: + // /tmp/sosreport-XXXX.tar.bz2" string sosreport_filename = ParseFilename(output); string sosreport_dd_filename = concat_path_file(pActionDir, "sosreport.tar.bz2"); CDebugDump dd; dd.Open(pActionDir); - //Not useful - //dd.SaveText("sosreportoutput", output); - if (copy_file(sosreport_filename.c_str(), sosreport_dd_filename.c_str(), 0644) < 0) + //Not useful: dd.SaveText("sosreportoutput", output); + off_t sz = copy_file(sosreport_filename.c_str(), sosreport_dd_filename.c_str(), 0644); + unlink(sosreport_filename.c_str()); // don't want to leave sosreport-XXXX.tar.bz2 in /tmp + unlink((sosreport_filename + ".md5").c_str()); // sosreport-XXXX.tar.bz2.md5 too + if (sz < 0) { dd.Close(); throw CABRTException(EXCEP_PLUGIN, |
