diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2008-11-14 16:26:39 +0000 | 
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2008-11-14 16:26:39 +0000 | 
| commit | 2249c12a3c2737e50d81962040dd36990aa16600 (patch) | |
| tree | a3eb562f69081281d803908af2213de904aba2d7 | |
| parent | b4ac9cd02c8142e671e903c93e5a0b63a80c31d1 (diff) | |
fix an OOM problem detected by Jim Meyering
| -rw-r--r-- | lib/formdata.c | 10 | 
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/formdata.c b/lib/formdata.c index e035271b3..a370e65a4 100644 --- a/lib/formdata.c +++ b/lib/formdata.c @@ -1100,7 +1100,7 @@ static char *strippath(const char *fullfile)    free(filename); /* free temporary buffer */ -  return base; /* returns an allocated string! */ +  return base; /* returns an allocated string or NULL ! */  }  /* @@ -1207,8 +1207,12 @@ CURLcode Curl_getFormData(struct FormData **finalform,        if(post->more) {          /* if multiple-file */ -        char *filebasename= -          (!file->showfilename)?strippath(file->contents):NULL; +        char *filebasename= NULL; +        if(!file->showfilename) { +          filebasename = strippath(file->contents); +          if(!filebasename) +            return CURLE_OUT_OF_MEMORY; +        }          result = AddFormDataf(&form, &size,                                "\r\n--%s\r\nContent-Disposition: "  | 
