about summary refs log tree commit diff stats
path: root/src/xmpp/form.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmpp/form.c')
-rw-r--r--src/xmpp/form.c3
1 files changed, 2 insertions, 1 deletions
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);
                     }