diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2010-03-23 07:10:03 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2010-03-23 07:10:03 +0100 |
commit | d2f242edcb25e69ae7de5a142229330070f2e70b (patch) | |
tree | 8f25fa8de784c877cda4c17452955234cdc2f95e /runtime/debug.c | |
parent | 396e211e5cfd195b7135947d425b089a0447fa88 (diff) | |
parent | 2f1d5a12037453792eb1000c79daf737b41c5ba4 (diff) | |
download | rsyslog-d2f242edcb25e69ae7de5a142229330070f2e70b.tar.gz rsyslog-d2f242edcb25e69ae7de5a142229330070f2e70b.tar.bz2 rsyslog-d2f242edcb25e69ae7de5a142229330070f2e70b.zip |
Merge branch 'v4-stable' into v4-stable-solaris
Diffstat (limited to 'runtime/debug.c')
-rw-r--r-- | runtime/debug.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/runtime/debug.c b/runtime/debug.c index 20474a9a..9b7c2952 100644 --- a/runtime/debug.c +++ b/runtime/debug.c @@ -922,7 +922,7 @@ void dbgoprint(obj_t *pObj, char *fmt, ...) { va_list ap; - char pszWriteBuf[1024]; + char pszWriteBuf[32*1024]; size_t lenWriteBuf; if(!(Debug && debugging_on)) @@ -952,7 +952,7 @@ void dbgprintf(char *fmt, ...) { va_list ap; - char pszWriteBuf[1024]; + char pszWriteBuf[20480]; size_t lenWriteBuf; if(!(Debug && debugging_on)) @@ -961,6 +961,15 @@ dbgprintf(char *fmt, ...) va_start(ap, fmt); lenWriteBuf = vsnprintf(pszWriteBuf, sizeof(pszWriteBuf), fmt, ap); va_end(ap); + if(lenWriteBuf >= sizeof(pszWriteBuf)) { + /* prevent buffer overrruns and garbagge display */ + pszWriteBuf[sizeof(pszWriteBuf) - 5] = '.'; + pszWriteBuf[sizeof(pszWriteBuf) - 4] = '.'; + pszWriteBuf[sizeof(pszWriteBuf) - 3] = '.'; + pszWriteBuf[sizeof(pszWriteBuf) - 2] = '\n'; + pszWriteBuf[sizeof(pszWriteBuf) - 1] = '\0'; + lenWriteBuf = sizeof(pszWriteBuf); + } dbgprint(NULL, pszWriteBuf, lenWriteBuf); } |