From 9a2270d2c89f58fbed72d1811dfbe308fdf495ac Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 31 Jul 2009 03:58:05 +0200 Subject: bug fixes in kerneloops scanner CKerneloopsScanner::Run - scan syslog file first, then dmesg (was other way around) CKerneloopsScanner::SaveOopsToDebug - cast time_t and size_t to long when we feed them to snprintf CKerneloopsScanner::ScanSysLogFile - do not seek to negative offsets, POSIX does not allow that CSysLog::QueueOops - plug memory leak Also used some abrtlib functions where appropriate, use open instead of fopen where appropriate, do not check error in time() - it never fails, move around bits of code in CKerneloopsScanner to make it easier in future to create a tool for parsing arbitrary files for oopses. Signed-off-by: Denys Vlasenko --- lib/Plugins/KerneloopsReporter.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'lib/Plugins/KerneloopsReporter.cpp') diff --git a/lib/Plugins/KerneloopsReporter.cpp b/lib/Plugins/KerneloopsReporter.cpp index b023106..2b5e2be 100644 --- a/lib/Plugins/KerneloopsReporter.cpp +++ b/lib/Plugins/KerneloopsReporter.cpp @@ -23,32 +23,32 @@ * Anton Arapov * Arjan van de Ven */ +#include "abrtlib.h" #include "KerneloopsReporter.h" #include "PluginSettings.h" #include "CommLayerInner.h" -#include -#include +//#include +//#include #include #define FILENAME_KERNELOOPS "kerneloops" CKerneloopsReporter::CKerneloopsReporter() : - m_sSubmitURL("http://submit.kerneloops.org/submitoops.php") + m_sSubmitURL("http://submit.kerneloops.org/submitoops.php") {} -size_t writefunction(void *ptr, size_t size, size_t nmemb, void __attribute((unused)) *stream) +size_t writefunction(void *ptr, size_t size, size_t nmemb, void *stream) { char *c, *c1, *c2; - c = (char*)malloc(size*nmemb + 1); - memset(c, 0, size*nmemb + 1); + c = (char*)xzalloc(size*nmemb + 1); memcpy(c, ptr, size*nmemb); printf("received %s \n", c); c1 = strstr(c, "201 "); if (c1) { - c1+=4; + c1 += 4; c2 = strchr(c1, '\n'); if (c2) *c2 = 0; @@ -59,7 +59,7 @@ size_t writefunction(void *ptr, size_t size, size_t nmemb, void __attribute((unu void CKerneloopsReporter::Report(const map_crash_report_t& pCrashReport, const std::string& pArgs) { - comm_layer_inner_status("Creating and submitting a report..."); + comm_layer_inner_status("Creating and submitting a report..."); CURL *handle; struct curl_httppost *post = NULL; -- cgit