about summary refs log tree commit diff stats
path: root/src/xmpp/message.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmpp/message.c')
-rw-r--r--src/xmpp/message.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/xmpp/message.c b/src/xmpp/message.c
index 9d80fb1f..3f8ad5a0 100644
--- a/src/xmpp/message.c
+++ b/src/xmpp/message.c
@@ -714,6 +714,14 @@ _handle_carbons(xmpp_stanza_t *const stanza)
         return TRUE;
     }
 
+    Jid *my_jid = jid_create(connection_get_fulljid());
+    const char *const stanza_from = xmpp_stanza_get_from(stanza);
+    Jid *msg_jid = jid_create(stanza_from);
+    if (g_strcmp0(my_jid->barejid, msg_jid->barejid) != 0) {
+        log_warning("Invalid carbon received, from: %s", stanza_from);
+        return TRUE;
+    }
+
     const gchar *to = xmpp_stanza_get_to(message);
     const gchar *from = xmpp_stanza_get_from(message);
 
@@ -722,7 +730,6 @@ _handle_carbons(xmpp_stanza_t *const stanza)
 
     Jid *jid_from = jid_create(from);
     Jid *jid_to = jid_create(to);
-    Jid *my_jid = jid_create(connection_get_fulljid());
 
     // check for pgp encrypted message
     char *enc_message = NULL;