int cur_index = to_index - from_index;
str = (gchar*) malloc(cur_index + 1);
- memset(str, '\0', cur_index + 1);
-
- strncpy(str, (string + from_index), cur_index);
- str[cur_index] = '\0';
+ if (str) {
+ memset(str, '\0', cur_index + 1);
+ strncpy(str, (string + from_index), cur_index);
+ str[cur_index] = '\0';
+ }
return str;
}
__http_session_h *session = transaction->session;
__http_request_h *request = transaction->request;
- CURLMcode ret = CURLM_OK;
+ int ret = HTTP_ERROR_NONE;
gchar *proxy_addr = NULL;
struct curl_slist* header_list = NULL;
gchar *field_value = NULL;
if ((_get_method(request->method) == HTTP_METHOD_POST) && !write_event && !request->formpost) {
gchar *body = NULL;
- _read_request_body(transaction, &body);
+ ret = _read_request_body(transaction, &body);
+ if (ret != HTTP_ERROR_NONE)
+ return ret;
if (body) {
curl_easy_setopt(transaction->easy_handle, CURLOPT_COPYPOSTFIELDS, body);
/* Header */
transaction->header->rsp_header_len = 0;
transaction->header->rsp_header = malloc(transaction->header->rsp_header_len + 1);
- transaction->header->rsp_header[0] = '\0';
+ if (transaction->header->rsp_header)
+ transaction->header->rsp_header[0] = '\0';
transaction->header->header_list = NULL;
transaction->header->hash_table = NULL;
transaction->header_event = FALSE;
auth_transaction->header->rsp_header_len = 0;
auth_transaction->header->rsp_header = malloc(auth_transaction->header->rsp_header_len + 1);
- auth_transaction->header->rsp_header[0] = '\0';
+ if (auth_transaction->header->rsp_header)
+ auth_transaction->header->rsp_header[0] = '\0';
auth_transaction->header_event = FALSE;
if (transaction->request->host_uri)