bug fix: add null check 85/139985/5
authorSeonah Moon <seonah1.moon@samsung.com>
Fri, 21 Jul 2017 07:46:08 +0000 (16:46 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Mon, 24 Jul 2017 09:32:23 +0000 (18:32 +0900)
Change-Id: Iae3fdf287b175b81f0a374380db17188cfc9cb0e
Signed-off-by: Seonah Moon <seonah1.moon@samsung.com>
packaging/capi-network-http.spec
src/http_common.c
src/http_transaction.c

index bf95421..37ae2ef 100644 (file)
@@ -1,6 +1,6 @@
 Name:          capi-network-http
 Summary:       Http Framework
-Version:       0.0.25
+Version:       0.0.26
 Release:       0
 Group:         System/Network
 License:       Apache-2.0
index 61a1158..d749371 100644 (file)
@@ -286,10 +286,11 @@ gchar* parse_values(const gchar* string, int from_index, int to_index)
        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;
 }
index ce075a3..08e9fb4 100644 (file)
@@ -279,7 +279,7 @@ int _transaction_submit(gpointer user_data)
        __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;
@@ -423,7 +423,9 @@ int _transaction_submit(gpointer user_data)
        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);
@@ -545,7 +547,8 @@ API int http_session_open_transaction(http_session_h http_session, http_method_e
        /* 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;
@@ -1207,7 +1210,8 @@ API int http_transaction_open_authentication(http_transaction_h http_transaction
 
        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)