diff options
author | Michael Vetter <jubalh@iodoru.org> | 2022-04-27 17:00:30 +0200 |
---|---|---|
committer | Michael Vetter <jubalh@iodoru.org> | 2022-04-27 17:00:30 +0200 |
commit | 2dc0cc489c872941e18a622c091f74bf5b0b043f (patch) | |
tree | 02169c1db2ce75d5090f58fe6ba99f8f72b7fa60 /src | |
parent | 196fdd9cb91e2bdb58c5cb0fad53746c32460d8c (diff) | |
download | profani-tty-2dc0cc489c872941e18a622c091f74bf5b0b043f.tar.gz |
ox: dont print empty body message
Fix https://github.com/profanity-im/profanity/issues/1693 ``` @StefanKropp @DebXWoody please check `_handle_ox_chat()` I don't understand what you are doing there. 1) First plain is assigned `message->plain = p_ox_gpg_decrypt(xmpp_stanza_get_text(ox));` and then in the same if block you overwrite this with `message->plain = xmpp_stanza_get_text(b);` without freeing the old value as far as I can see. 2) Sometimes even doing `message->plain = "OX error: No payload found";`. Shouldn't there be a `strdup()`? I think later on we try to free the whole message struct. So we can't mix this static things. ```
Diffstat (limited to 'src')
-rw-r--r-- | src/xmpp/message.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/xmpp/message.c b/src/xmpp/message.c index 4a136bde..c18f9376 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -1452,12 +1452,13 @@ _handle_chat(xmpp_stanza_t* const stanza, gboolean is_mam, gboolean is_carbon, c // 0085 works only with resource if (jid->resourcepart) { - // XEP-0085: Chat State Notifications + // XEP-0085: Chat Stase Notifications _handle_chat_states(stanza, jid); } message_free(message); } + static void _handle_ox_chat(xmpp_stanza_t* const stanza, ProfMessage* message, gboolean is_mam) { @@ -1478,8 +1479,7 @@ _handle_ox_chat(xmpp_stanza_t* const stanza, ProfMessage* message, gboolean is_m } xmpp_stanza_t* b = xmpp_stanza_get_child_by_name(p, "body"); if (!b) { - log_warning("OX Stanza - no body"); - message->plain = "OX error: No payload body found"; + log_debug("OX Stanza - no body"); return; } message->plain = xmpp_stanza_get_text(b); |