diff --git a/src/Consumer.cc b/src/Consumer.cc index 277074dc..24ca11e3 100644 --- a/src/Consumer.cc +++ b/src/Consumer.cc @@ -63,7 +63,11 @@ void MessageListenerProxy(Napi::Env env, Napi::Function jsCallback, MessageListe Consumer *consumer = data->consumer; delete data; - jsCallback.Call({msg, consumer->Value()}); + // `consumer` might be null in certain cases, segmentation fault might happend without this null check. We + // need to handle this rare case in future. + if (consumer) { + jsCallback.Call({msg, consumer->Value()}); + } } void MessageListener(pulsar_consumer_t *rawConsumer, pulsar_message_t *rawMessage, void *ctx) {