According to the log4j javadoc, these methods should not return null but
since it's reported by Coverity, add the null checks.
*** CID
1469124: Null pointer dereferences (NULL_RETURNS)
src/lib/lttng-ust-java-agent/java/lttng-ust-agent-log4j2/org/lttng/ust/agent/log4j2/LttngLogAppender.java:
194 in org.lttng.ust.agent.log4j2.LttngLogAppender.append(org.apache.logging.log4j.core.LogEvent)()
*** CID
1469123: Null pointer dereferences (NULL_RETURNS)
src/lib/lttng-ust-java-agent/java/lttng-ust-agent-log4j2/org/lttng/ust/agent/log4j2/LttngLogAppender.java:
167 in org.lttng.ust.agent.log4j2.LttngLogAppender.append(org.apache.logging.log4j.core.LogEvent)()
Change-Id: Ib992b3cc6848492cfb6e7d8fec6ce3898d962db4
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.message.Message;
import org.lttng.ust.agent.ILttngHandler;
import org.lttng.ust.agent.context.ContextInfoSerializer;
import org.lttng.ust.agent.ILttngHandler;
import org.lttng.ust.agent.context.ContextInfoSerializer;
* Check if the current message should be logged, according to the UST session
* settings.
*/
* Check if the current message should be logged, according to the UST session
* settings.
*/
- if (!agent.isEventEnabled(event.getLoggerName())) {
+ String loggername = event.getLoggerName();
+ if (loggername == null || !agent.isEventEnabled(loggername)) {
+ /*
+ * Default value if the Message is null.
+ */
+ String message = "";
+
+ Message eventMessage = event.getMessage();
+ if (eventMessage != null) {
+ message = eventMessage.getFormattedMessage();
+ }
+
/*
* Default values if the StackTraceElement is null.
*/
/*
* Default values if the StackTraceElement is null.
*/
eventCount.incrementAndGet();
eventCount.incrementAndGet();
- LttngLog4j2Api.tracepointWithContext(event.getMessage().getFormattedMessage(), event.getLoggerName(), classname,
- methodname, filename, line, event.getTimeMillis(), event.getLevel().intLevel(), event.getThreadName(),
+ LttngLog4j2Api.tracepointWithContext(message, loggername, classname, methodname, filename, line,
+ event.getTimeMillis(), event.getLevel().intLevel(), event.getThreadName(),
contextInfo.getEntriesArray(), contextInfo.getStringsArray());
}
}
contextInfo.getEntriesArray(), contextInfo.getStringsArray());
}
}