From 7b8344c61e9d7fa344ddbe80e513d249bd22db52 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 29 Apr 2010 14:16:25 +0000 Subject: [PATCH] syslog_init_post_vm(): If the syslog is disabled, clear sSyslogBuffer. It is already initialized in syslog_init(), if the debug syslog feature is enabled. Since the area would never be created, the pointer becomes invalid, however, and could cause a double fault on entering KDL. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36528 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/debug/debug.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/system/kernel/debug/debug.cpp b/src/system/kernel/debug/debug.cpp index c21ee5102d..f780668375 100644 --- a/src/system/kernel/debug/debug.cpp +++ b/src/system/kernel/debug/debug.cpp @@ -1321,8 +1321,12 @@ syslog_init_post_vm(struct kernel_args* args) status_t status; int32 length = 0; - if (!sSyslogOutputEnabled) + if (!sSyslogOutputEnabled) { + sSyslogBuffer = NULL; + // Might already have been set in syslog_init(), if the debug syslog + // was enabled. Just drop it -- we'll never create the area. return B_OK; + } sSyslogMessage = (syslog_message*)malloc(SYSLOG_MESSAGE_BUFFER_SIZE); if (sSyslogMessage == NULL) {