prevent memory leak in xmpp_stanza_new_from_string()

Only remember the first stanza in case the string contains
multiple stanzas.

Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
This commit is contained in:
Steffen Jaeckel
2022-05-05 16:21:38 +02:00
parent d8c9ca49e1
commit 62d1063560
2 changed files with 22 additions and 3 deletions

View File

@@ -1640,8 +1640,11 @@ static void _stub_stream_end(char *name, void *userdata)
static void _stream_stanza(xmpp_stanza_t *stanza, void *userdata)
{
stanza = xmpp_stanza_clone(stanza);
*(xmpp_stanza_t **)userdata = stanza;
xmpp_stanza_t **dest = userdata;
if (*dest == NULL) {
stanza = xmpp_stanza_clone(stanza);
*dest = stanza;
}
}
/** Create a stanza object from the string.