diff --git a/src/xmpp/form.c b/src/xmpp/form.c index f352feab..ca798c29 100644 --- a/src/xmpp/form.c +++ b/src/xmpp/form.c @@ -167,12 +167,13 @@ form_create(xmpp_stanza_t * const form_stanza) // handle repeated field children xmpp_stanza_t *field_child = xmpp_stanza_get_children(field_stanza); + child_name = xmpp_stanza_get_name(field_child); while (field_child != NULL) { // handle values if (g_strcmp0(child_name, "value") == 0) { char *value = xmpp_stanza_get_text(field_child); if (value != NULL) { - field->values = g_slist_append(field->values, value); + field->values = g_slist_append(field->values, strdup(value)); xmpp_free(ctx, value); }