aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/formdata.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/formdata.c b/lib/formdata.c
index 62409ec41..e035271b3 100644
--- a/lib/formdata.c
+++ b/lib/formdata.c
@@ -743,8 +743,11 @@ CURLFORMcode FormAdd(struct curl_httppost **httppost,
}
if( !(form->flags & HTTPPOST_PTRNAME) &&
(form == first_form) ) {
- /* copy name (without strdup; possibly contains null characters) */
- form->name = memdup(form->name, form->namelength);
+ /* Note that there's small risk that form->name is NULL here if the
+ app passed in a bad combo, so we better check for that first. */
+ if(form->name)
+ /* copy name (without strdup; possibly contains null characters) */
+ form->name = memdup(form->name, form->namelength);
if(!form->name) {
return_value = CURL_FORMADD_MEMORY;
break;