Better deal with NULL pointers.

CID 3 and 4 from the coverity.com scan.
This commit is contained in:
Daniel Stenberg 2007-03-31 21:01:18 +00:00
parent 1f236ba108
commit 4d9e24d1e4
1 changed files with 14 additions and 8 deletions

View File

@ -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<sizeof(ctts)/sizeof(ctts[0]); i++) {
if(strlen(filename) >= 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<sizeof(ctts)/sizeof(ctts[0]); i++) {
if(strlen(filename) >= 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 */