summaryrefslogtreecommitdiffstats
path: root/lib/Plugins
diff options
context:
space:
mode:
authorKarel Klic <kklic@redhat.com>2011-01-31 18:39:25 +0100
committerKarel Klic <kklic@redhat.com>2011-01-31 18:39:25 +0100
commite3a4e103cee4f2f0392813d9803239c7d136ea24 (patch)
tree38cb7da67edeeff7533ffde81d067a525d6e58a8 /lib/Plugins
parent0fa172035dc1cf60677b2f70aea17bf4200a3481 (diff)
downloadabrt-e3a4e103cee4f2f0392813d9803239c7d136ea24.tar.gz
abrt-e3a4e103cee4f2f0392813d9803239c7d136ea24.tar.xz
abrt-e3a4e103cee4f2f0392813d9803239c7d136ea24.zip
Rating 0 (worst) for backtrace on which the parser fails.
Diffstat (limited to 'lib/Plugins')
-rw-r--r--lib/Plugins/CCpp.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp
index b028c416..4006918c 100644
--- a/lib/Plugins/CCpp.cpp
+++ b/lib/Plugins/CCpp.cpp
@@ -669,16 +669,22 @@ void CAnalyzerCCpp::CreateReport(const char *pDebugDumpDir, int force)
{
VERB1 log(_("Backtrace parsing failed for %s"), pDebugDumpDir);
VERB1 log("%d:%d: %s", location.line, location.column, location.message);
- /* If the parser failed compute the UUID from the executable
- and package only. This is not supposed to happen often.
- Do not store the rating, as we do not know how good the
- backtrace is. */
+ /* If the parser failed, compute the UUID from the executable
+ * and package only. This is not supposed to happen often.
+ */
struct strbuf *emptybt = strbuf_new();
strbuf_prepend_str(emptybt, executable.c_str());
strbuf_prepend_str(emptybt, package.c_str());
string hash_str = create_hash(emptybt->buf);
dd.SaveText(FILENAME_GLOBAL_UUID, hash_str.c_str());
+ /* Other parts of ABRT assume that if no rating is available,
+ * it is ok to allow reporting of the bug. To be sure no bad
+ * backtrace is reported, rate the backtrace with the lowest
+ * rating.
+ */
+ dd.SaveText(FILENAME_RATING, "0");
+
strbuf_free(emptybt);
dd.Close();
return;