Skip to content
Snippets Groups Projects
Commit 169b2eeb authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

Fixes bug #669059. We now extract the Content-Type better and more accurate.

parent f81d027f
No related branches found
No related tags found
No related merge requests found
......@@ -567,22 +567,29 @@ CURLcode Curl_readwrite(struct connectdata *conn,
*start && isspace((int)*start);
start++);
/* count all non-space letters following */
for(end=start, len=0;
*end && !isspace((int)*end);
end++, len++);
/* allocate memory of a cloned copy */
if(data->info.contenttype)
free(data->info.contenttype);
end = strchr(start, '\r');
if(!end)
end = strchr(start, '\n');
if(end) {
/* skip all trailing space letters */
for(; isspace(*end) && (end > start); end--);
/* get length of the type */
len = end-start+1;
data->info.contenttype = malloc(len + 1);
if (NULL == data->info.contenttype)
return CURLE_OUT_OF_MEMORY;
/* allocate memory of a cloned copy */
if(data->info.contenttype)
free(data->info.contenttype);
data->info.contenttype = malloc(len + 1);
if (NULL == data->info.contenttype)
return CURLE_OUT_OF_MEMORY;
/* copy the content-type string */
memcpy(data->info.contenttype, start, len);
data->info.contenttype[len] = 0; /* zero terminate */
/* copy the content-type string */
memcpy(data->info.contenttype, start, len);
data->info.contenttype[len] = 0; /* zero terminate */
}
}
else if((k->httpversion == 10) &&
conn->bits.httpproxy &&
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment