diff options
Diffstat (limited to 'src/xmpp/message.c')
-rw-r--r-- | src/xmpp/message.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/xmpp/message.c b/src/xmpp/message.c index 91fd40a3..00d8ec1a 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -1131,24 +1131,26 @@ static void _handle_receipt_received(xmpp_stanza_t* const stanza) { xmpp_stanza_t* receipt = xmpp_stanza_get_child_by_ns(stanza, STANZA_NS_RECEIPTS); - const char* name = xmpp_stanza_get_name(receipt); - if (g_strcmp0(name, "received") != 0) { - return; - } + if (receipt) { + const char* name = xmpp_stanza_get_name(receipt); + if (g_strcmp0(name, "received") != 0) { + return; + } - const char* id = xmpp_stanza_get_id(receipt); - if (!id) { - return; - } + const char* id = xmpp_stanza_get_id(receipt); + if (!id) { + return; + } - const char* fulljid = xmpp_stanza_get_from(stanza); - if (!fulljid) { - return; - } + const char* fulljid = xmpp_stanza_get_from(stanza); + if (!fulljid) { + return; + } - Jid* jidp = jid_create(fulljid); - sv_ev_message_receipt(jidp->barejid, id); - jid_destroy(jidp); + Jid* jidp = jid_create(fulljid); + sv_ev_message_receipt(jidp->barejid, id); + jid_destroy(jidp); + } } static void |