From a444137e66d9dc041c30b411d5904fb0075b3bea Mon Sep 17 00:00:00 2001 From: Paul Fariello Date: Fri, 21 Jun 2019 12:34:19 +0200 Subject: Fix NULL pointer when handling non encrypted message in MUC --- src/xmpp/message.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/xmpp/message.c b/src/xmpp/message.c index c100684e..3d4807fe 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -800,6 +800,8 @@ _handle_groupchat(xmpp_stanza_t *const stanza) message->jid = jid; message->id = strdup(id); + message->body = xmpp_message_get_body(stanza); + // check omemo encryption #ifdef HAVE_OMEMO message->plain = omemo_receive_message(stanza, &message->trusted); @@ -808,7 +810,12 @@ _handle_groupchat(xmpp_stanza_t *const stanza) } #endif - message->body = xmpp_message_get_body(stanza); + if (!message->plain && !message->body) { + log_error("Message received without body for room: %s", jid->str); + goto out; + } else if (!message->plain) { + message->plain = strdup(message->body); + } // determine if the notifications happened whilst offline message->timestamp = stanza_get_delay(stanza); @@ -818,6 +825,7 @@ _handle_groupchat(xmpp_stanza_t *const stanza) sv_ev_room_message(message); } +out: message_free(message); } -- cgit 1.4.1-2-gfad0