From 72bc3848536cc71b8950e5619f5769f60a73f3ab Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Wed, 14 May 2014 06:42:40 -0400 Subject: [PATCH] Windows: Restrict redir trace buffer to 10240KB Define macro AFS_DBG_LOG_MAXLENGTH to 10240 and then use it to enforce the 10MB trace buffer limit. Change-Id: I98b759d9f51d24d402bfdc56570c0f0de93926a0 Reviewed-on: http://gerrit.openafs.org/11146 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsrdr/kernel/fs/AFSGeneric.cpp | 4 ++-- src/WINNT/afsrdr/kernel/fs/AFSLogSupport.cpp | 11 ++++++++++- src/WINNT/afsrdr/kernel/fs/Include/AFSDefines.h | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/WINNT/afsrdr/kernel/fs/AFSGeneric.cpp b/src/WINNT/afsrdr/kernel/fs/AFSGeneric.cpp index f607cfc..27503bb 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSGeneric.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSGeneric.cpp @@ -417,10 +417,10 @@ AFSReadRegistry( IN PUNICODE_STRING RegistryPath) // Let's limit things a bit ... // - if( AFSDbgBufferLength > 10240) + if( AFSDbgBufferLength > AFS_DBG_LOG_MAXLENGTH) { - AFSDbgBufferLength = 1024; + AFSDbgBufferLength = AFS_DBG_LOG_MAXLENGTH; } } else diff --git a/src/WINNT/afsrdr/kernel/fs/AFSLogSupport.cpp b/src/WINNT/afsrdr/kernel/fs/AFSLogSupport.cpp index 779c090..bcec8b6 100644 --- a/src/WINNT/afsrdr/kernel/fs/AFSLogSupport.cpp +++ b/src/WINNT/afsrdr/kernel/fs/AFSLogSupport.cpp @@ -361,7 +361,16 @@ AFSConfigureTrace( IN AFSTraceConfigCB *TraceInfo) DbgPrint("AFSConfigureTrace Failed to set debug buffer length in registry Status %08lX\n", ntStatus); } - AFSDbgBufferLength = TraceInfo->TraceBufferLength * 1024; + if ( TraceInfo->TraceBufferLength > AFS_DBG_LOG_MAXLENGTH) + { + + AFSDbgBufferLength = AFS_DBG_LOG_MAXLENGTH * 1024; + } + else + { + + AFSDbgBufferLength = TraceInfo->TraceBufferLength * 1024; + } ClearFlag( AFSDbgLogFlags, AFS_DBG_LOG_WRAPPED); diff --git a/src/WINNT/afsrdr/kernel/fs/Include/AFSDefines.h b/src/WINNT/afsrdr/kernel/fs/Include/AFSDefines.h index fc1f595..c6701b3 100644 --- a/src/WINNT/afsrdr/kernel/fs/Include/AFSDefines.h +++ b/src/WINNT/afsrdr/kernel/fs/Include/AFSDefines.h @@ -251,7 +251,7 @@ DEFINE_GUID (GUID_SD_AFS_REDIRECTOR_CONTROL_OBJECT, // Debug log length // -#define AFS_DBG_LOG_LENGTH 256 +#define AFS_DBG_LOG_MAXLENGTH 10240 //KBs // // Debug log flags -- 1.9.4