You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/12/14 09:04:48 UTC

[camel-kafka-connector] 07/15: Prevents a potential null pointer dereference if the conversion cannot be made in the SinkPojoToSchemaAndStructTransform

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch camel-master
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git

commit d2508400c97ef44ed33f35732afce43859ac31e8
Author: Otavio Rodolfo Piske <op...@redhat.com>
AuthorDate: Fri Dec 11 17:25:26 2020 +0100

    Prevents a potential null pointer dereference if the conversion cannot be made in the SinkPojoToSchemaAndStructTransform
---
 .../transforms/SinkPojoToSchemaAndStructTransform.java            | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/core/src/main/java/org/apache/camel/kafkaconnector/transforms/SinkPojoToSchemaAndStructTransform.java b/core/src/main/java/org/apache/camel/kafkaconnector/transforms/SinkPojoToSchemaAndStructTransform.java
index 30ef9ca..ac15280 100644
--- a/core/src/main/java/org/apache/camel/kafkaconnector/transforms/SinkPojoToSchemaAndStructTransform.java
+++ b/core/src/main/java/org/apache/camel/kafkaconnector/transforms/SinkPojoToSchemaAndStructTransform.java
@@ -63,7 +63,13 @@ public class SinkPojoToSchemaAndStructTransform<R extends ConnectRecord<R>> impl
         if (r.value() != null && r.valueSchema() != null && Schema.Type.STRUCT.equals(r.valueSchema().type())) {
             GenericRecord avroGenericRecord = (GenericRecord)avroData.fromConnectData(r.valueSchema(), r.value());
 
-            LOG.debug("GenericRecord created: {} \nwith schema: {}", avroGenericRecord, avroGenericRecord == null ? "null" : avroGenericRecord.getClass().getName());
+            if (avroGenericRecord == null) {
+                LOG.warn("No GenericRecord was converted as part of this transformation");
+
+                return r;
+            }
+
+            LOG.debug("GenericRecord created: {} \nwith schema: {}", avroGenericRecord, avroGenericRecord.getClass().getName());
 
             GenericDatumWriter<GenericRecord> writer = new GenericDatumWriter<GenericRecord>(avroGenericRecord.getSchema());