diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2014-01-04 20:53:43 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2014-01-04 20:53:43 +0000 |
commit | 2a18cef82b84037b14f5e470c70ab70e433add5e (patch) | |
tree | 92622707296ab7c982332e485572eef2184410fe /render | |
parent | 581d87757601286fbb8250abc8d2bd185dddecb7 (diff) | |
download | netsurf-2a18cef82b84037b14f5e470c70ab70e433add5e.tar.gz netsurf-2a18cef82b84037b14f5e470c70ab70e433add5e.tar.bz2 |
Shunt around the file multipart stuff a bit to try and fix the segfault
Diffstat (limited to 'render')
-rw-r--r-- | render/form.c | 19 |
1 files changed, 10 insertions, 9 deletions
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; |