From 5d53e77aa70040bd2449b7306a9b83c7f99007a1 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Thu, 1 Jun 2006 16:40:48 +0000 Subject: [PATCH] DEVEL15-windows-hexdump-fix-20060528 do not allow unquoted percent signs to be logged (cherry picked from commit ee600c02e8f7c1299e3ebe13867f9aaa581c0141) --- src/WINNT/afsd/smb3.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/WINNT/afsd/smb3.c b/src/WINNT/afsd/smb3.c index 6489e3b9ad..0675d6896f 100644 --- a/src/WINNT/afsd/smb3.c +++ b/src/WINNT/afsd/smb3.c @@ -134,7 +134,7 @@ void OutputDebugF(char * format, ...) { } void OutputDebugHexDump(unsigned char * buffer, int len) { - int i,j,k; + int i,j,k,pcts=0; char buf[256]; static char tr[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; @@ -159,9 +159,13 @@ void OutputDebugHexDump(unsigned char * buffer, int len) { buf[j] = tr[k / 16]; buf[j+1] = tr[k % 16]; j = (i%16); - j = j + 56 + ((j>7)?1:0); + j = j + 56 + ((j>7)?1:0) + pcts; buf[j] = (k>32 && k<127)?k:'.'; + if (k == '%') { + buf[++j] = k; + pcts++; + } } if(i) { osi_Log0(smb_logp, osi_LogSaveString(smb_logp, buf));