From: Daniel Stenberg Date: Sat, 31 Mar 2007 21:01:18 +0000 (+0000) Subject: Better deal with NULL pointers. X-Git-Tag: curl-7_16_2~72 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4d9e24d1e48280b4dd25489a501d65e71fff476b;p=curl Better deal with NULL pointers. CID 3 and 4 from the coverity.com scan. --- diff --git a/lib/formdata.c b/lib/formdata.c index a5118b389..e9db070c9 100644 --- a/lib/formdata.c +++ b/lib/formdata.c @@ -282,13 +282,15 @@ static const char * ContentTypeForFilename (const char *filename, text/plain so we don't actually need to set this: */ contenttype = HTTPPOST_CONTENTTYPE_DEFAULT; - for(i=0; i= strlen(ctts[i].extension)) { - if(strequal(filename + - strlen(filename) - strlen(ctts[i].extension), - ctts[i].extension)) { - contenttype = ctts[i].type; - break; + if(filename) { /* in case a NULL was passed in */ + for(i=0; i= strlen(ctts[i].extension)) { + if(strequal(filename + + strlen(filename) - strlen(ctts[i].extension), + ctts[i].extension)) { + contenttype = ctts[i].type; + break; + } } } } @@ -315,10 +317,14 @@ static char *memdup(const char *src, size_t buffer_length) if (buffer_length) length = buffer_length; - else { + else if(src) { length = strlen(src); add = TRUE; } + else + /* no length and a NULL src pointer! */ + return strdup((char *)""); + buffer = (char*)malloc(length+add); if (!buffer) return NULL; /* fail */