summaryrefslogtreecommitdiffstats
path: root/lib/Plugins
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-07-25 03:34:31 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-07-25 03:34:31 +0200
commit8a163407875f2c73258e7f968b8f1e2d7f50a72c (patch)
tree7a5e3209b9158b0c9becd3066070503f3d6ed3e5 /lib/Plugins
parentc659f8e2a6c4042ff4b7bf9cd70655cb2ff54fcd (diff)
downloadabrt-8a163407875f2c73258e7f968b8f1e2d7f50a72c.tar.gz
abrt-8a163407875f2c73258e7f968b8f1e2d7f50a72c.tar.xz
abrt-8a163407875f2c73258e7f968b8f1e2d7f50a72c.zip
Be more paranoid about /proc/.../core_pattern
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'lib/Plugins')
-rw-r--r--lib/Plugins/CCpp.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp
index fe6c56ca..47bfceba 100644
--- a/lib/Plugins/CCpp.cpp
+++ b/lib/Plugins/CCpp.cpp
@@ -534,6 +534,23 @@ void CAnalyzerCCpp::Init()
getline(fInCorePattern, m_sOldCorePattern);
fInCorePattern.close();
}
+ if (m_sOldCorePattern[0] == '|')
+ {
+ if (m_sOldCorePattern == CORE_PATTERN)
+ {
+ fprintf(stderr, "warning: %s already contains %s, "
+ "did abrt daemon crash recently?\n",
+ CORE_PATTERN_IFACE, CORE_PATTERN);
+ /* There is no point in "restoring" CORE_PATTERN_IFACE
+ * to CORE_PATTERN on exit. Will restore to a default value:
+ */
+ m_sOldCorePattern = "core";
+ }
+ fprintf(stderr, "warning: %s was already set to run a crash analyser (%s), "
+ "abrt may interfere with it\b",
+ CORE_PATTERN_IFACE, CORE_PATTERN);
+ }
+
std::ofstream fOutCorePattern;
fOutCorePattern.open(CORE_PATTERN_IFACE);
if (fOutCorePattern.is_open())