From 2a18cef82b84037b14f5e470c70ab70e433add5e Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sat, 4 Jan 2014 20:53:43 +0000 Subject: Shunt around the file multipart stuff a bit to try and fix the segfault --- render/form.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'render') diff --git a/render/form.c b/render/form.c index a4b882a64..9ac52392e 100644 --- a/render/form.c +++ b/render/form.c @@ -590,15 +590,7 @@ bool form_successful_controls(struct form *form, success_new->value = ENCODE_ITEM(control->value ? control->value : ""); - success_new->next = 0; - last_success->next = success_new; - last_success = success_new; - if (!success_new->name || - !success_new->value) { - LOG(("strdup failed")); - goto no_memory; - } - + success_new->rawfile = NULL; /* Retrieve the filename from the DOM annotation */ if (dom_node_get_user_data( control->node, @@ -621,6 +613,15 @@ bool form_successful_controls(struct form *form, goto no_memory; } + success_new->next = 0; + last_success->next = success_new; + last_success = success_new; + if (!success_new->name || + !success_new->value) { + LOG(("strdup failed")); + goto no_memory; + } + continue; break; -- cgit v1.2.3