src/osaf/saflog/saflog.c |  10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)


saflog is a utility function provided for other OpenSAF services
to write log records to the system log stream.

Before this ticket, saflog limited the log record size to only 255
chars, which made it not possible to write log records containing
long dns (> 255 chars).

This ticket increases the log record size limit to 65,535 chars
(SA_LOG_MAX_RECORD_SIZE) to allow logging long log records that
may contain long dns.

diff --git a/src/osaf/saflog/saflog.c b/src/osaf/saflog/saflog.c
--- a/src/osaf/saflog/saflog.c
+++ b/src/osaf/saflog/saflog.c
@@ -1,6 +1,7 @@
 /*      -*- OpenSAF  -*-
  *
  * (C) Copyright 2010 The OpenSAF Foundation
+ * (C) Copyright 2017 Ericsson AB. All Rights Reserved.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
@@ -58,12 +59,19 @@ void saflog(int priority, const SaNameT 
        SaLogRecordT logRecord;
        SaLogBufferT logBuffer;
        va_list ap;
-       char str[256];
+       char str[SA_LOG_MAX_RECORD_SIZE + 1];
+       /* SA_LOG_MAX_RECORD_SIZE = 65535
+        * This will allow logging of record containing long dns */
 
        va_start(ap, format);
        logBuffer.logBufSize = vsnprintf(str, sizeof(str), format, ap);
        va_end(ap);
 
+       if (logBuffer.logBufSize > SA_LOG_MAX_RECORD_SIZE) {
+               syslog(LOG_INFO, "saflog write FAILED: log record size > %u max 
limit", SA_LOG_MAX_RECORD_SIZE);
+               return;
+       }
+
        if (!initialized) {
                SaVersionT logVersion = { 'A', 2, 1 };
                SaNameT stream_name;

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to