Curl_open: fix OOM return error correctly

Closes #2098
This commit is contained in:
Daniel Stenberg 2017-11-20 23:16:56 +01:00
parent 9474a5fe11
commit 9554c3c6e5
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
1 changed files with 19 additions and 20 deletions

View File

@ -569,32 +569,31 @@ CURLcode Curl_open(struct Curl_easy **curl)
DEBUGF(fprintf(stderr, "Error: malloc of buffer failed\n"));
result = CURLE_OUT_OF_MEMORY;
}
Curl_mime_initpart(&data->set.mimepost, data);
data->state.headerbuff = malloc(HEADERSIZE);
if(!data->state.headerbuff) {
DEBUGF(fprintf(stderr, "Error: malloc of headerbuff failed\n"));
result = CURLE_OUT_OF_MEMORY;
}
else {
result = Curl_init_userdefined(&data->set);
Curl_mime_initpart(&data->set.mimepost, data);
data->state.headersize = HEADERSIZE;
data->state.headerbuff = malloc(HEADERSIZE);
if(!data->state.headerbuff) {
DEBUGF(fprintf(stderr, "Error: malloc of headerbuff failed\n"));
result = CURLE_OUT_OF_MEMORY;
}
else {
result = Curl_init_userdefined(&data->set);
Curl_convert_init(data);
data->state.headersize = HEADERSIZE;
Curl_convert_init(data);
Curl_initinfo(data);
Curl_initinfo(data);
/* most recent connection is not yet defined */
data->state.lastconnect = NULL;
/* most recent connection is not yet defined */
data->state.lastconnect = NULL;
data->progress.flags |= PGRS_HIDE;
data->state.current_speed = -1; /* init to negative == impossible */
data->set.fnmatch = ZERO_NULL;
data->set.maxconnects = DEFAULT_CONNCACHE_SIZE; /* for easy handles */
data->progress.flags |= PGRS_HIDE;
data->state.current_speed = -1; /* init to negative == impossible */
data->set.fnmatch = ZERO_NULL;
data->set.maxconnects = DEFAULT_CONNCACHE_SIZE; /* for easy handles */
Curl_http2_init_state(&data->state);
Curl_http2_init_state(&data->state);
}
}
if(result) {