summaryrefslogtreecommitdiffstats
path: root/lib/Plugins/KerneloopsSysLog.cpp
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-07-31 03:58:05 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-07-31 03:58:05 +0200
commit9a2270d2c89f58fbed72d1811dfbe308fdf495ac (patch)
tree35bf64ad03e5d5c4ffe122bd2215e0cb2179497a /lib/Plugins/KerneloopsSysLog.cpp
parentb276cf3a378b33d2d965181357dfa2e3ddc07bc7 (diff)
downloadabrt-9a2270d2c89f58fbed72d1811dfbe308fdf495ac.tar.gz
abrt-9a2270d2c89f58fbed72d1811dfbe308fdf495ac.tar.xz
abrt-9a2270d2c89f58fbed72d1811dfbe308fdf495ac.zip
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 <vda.linux@googlemail.com>
Diffstat (limited to 'lib/Plugins/KerneloopsSysLog.cpp')
-rw-r--r--lib/Plugins/KerneloopsSysLog.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/Plugins/KerneloopsSysLog.cpp b/lib/Plugins/KerneloopsSysLog.cpp
index 008d071..a30fc69 100644
--- a/lib/Plugins/KerneloopsSysLog.cpp
+++ b/lib/Plugins/KerneloopsSysLog.cpp
@@ -77,8 +77,8 @@ void CSysLog::QueueOops(char *data, char *version)
if (m_nFoundOopses > MAX_OOPS)
return;
- m_NewOops.m_sData = xstrdup(data);
- m_NewOops.m_sVersion = xstrdup(version);
+ m_NewOops.m_sData = data;
+ m_NewOops.m_sVersion = version;
m_OopsQueue.push_back(m_NewOops);
m_nFoundOopses++;
@@ -357,10 +357,10 @@ int CSysLog::ExtractOops(char *buffer, size_t buflen, int remove_syslog)
len = 2;
for (q = oopsstart; q <= oopsend; q++)
- len += strlen(lines_info[q].ptr)+1;
+ len += strlen(lines_info[q].ptr) + 1;
- oops = (char*)calloc(len, 1);
- version = (char*)calloc(len, 1);
+ oops = (char*)xzalloc(len);
+ version = (char*)xzalloc(len);
is_version = 0;
for (q = oopsstart; q <= oopsend; q++) {