Fixes from issues detected by coverity tool 91/175091/2
authorSaulo Moraes <s.moraes@samsung.com>
Fri, 6 Apr 2018 17:39:35 +0000 (14:39 -0300)
committerSaulo Aldighieri Moraes <s.moraes@samsung.com>
Fri, 6 Apr 2018 18:10:46 +0000 (15:10 -0300)
Change-Id: I70ee559339c828f67ce8dda2bf8aa0fec865dd2c

ui/src/privacy_dlp_choose_apps_view.c
ui/src/privacy_dlp_choose_rule_template_view.c
ui/src/privacy_dlp_log_detailed_view.c
ui/src/privacy_dlp_pattern_delete_view.c
ui/src/privacy_dlp_reports_app_rank_view.c
ui/src/privacy_dlp_rule_delete_view.c
ui/src/privacy_guard_package_list_view.c
ui/src/privacy_package_list_view.c

index 21b880f6ef974725f6251996ffbba13063e17564..ba81703455e93c358e430a4e1ac7a13b5ca397a6 100644 (file)
@@ -125,6 +125,7 @@ static bool _choose_app_app_info_cb(app_info_h app_info, void *user_data)
                        LOGE("app_info_get_id() failed. Error=%d", res);
                        // without an app_id it is not possible to create
                        // an app specific DLP rule, so we bail out
+                       free(app);
                        return true;
                }
 
@@ -588,6 +589,8 @@ void create_privacy_dlp_choose_apps_view(struct app_data_s *ad, Elm_Object_Item
                log_if(it == NULL, 1, "Error in elm_genlist_item_append");
        }
 
+       elm_genlist_item_class_free(itc);
+
        evas_object_show(data.genlist);
 
        /* Add genlist to naviframe */
index d3f5919a599964fd38ba57bd6049d2d1a0d4cd6a..4a664bbb247c33d86ed1b06496422854b1af60cf 100644 (file)
@@ -345,6 +345,8 @@ void create_privacy_dlp_choose_rule_template_view(struct app_data_s *ad, Elm_Obj
                }
        }
 
+       elm_genlist_item_class_free(itc);
+
        evas_object_smart_callback_add(genlist, "swipe", _gl_rule_template_item_swipe, &quick_rule_template_data);
 
        evas_object_show(genlist);
index 9aff44d58798a1e0d13532156b79f6100e0ac41e..38aa9a8fe8f68b8367529b7f0f5df471085d7296 100644 (file)
@@ -228,36 +228,37 @@ void create_privacy_dlp_log_detailed_view(dlp_item_log_s *item, struct app_data_
                free(string_buf);
        }
 
-       // Copy raw packet to a temporary buffer
-       const size_t packet_len = (detailed_log.pkt_len < LEN_RAW_PACKET) ? detailed_log.pkt_len : LEN_RAW_PACKET;
-       char *raw_packet = malloc(packet_len + 1);
-
-       if (raw_packet != NULL) {
-               memcpy(raw_packet, detailed_log.raw_packet, packet_len);
-
-               size_t i;
-               // Replaces undisplayable characters with "."
-               for (i = 0; i < packet_len; ++i) {
-                       if (is_undisplayable_char(raw_packet[i]))
-                               raw_packet[i] = '.';
+       if (detailed_log.leak_len > 0) {
+               // Copy raw packet to a temporary buffer
+               const size_t packet_len = (detailed_log.pkt_len < LEN_RAW_PACKET) ? detailed_log.pkt_len : LEN_RAW_PACKET;
+               char *raw_packet = malloc(packet_len + 1);
+
+               if (raw_packet != NULL) {
+                       memcpy(raw_packet, detailed_log.raw_packet, packet_len);
+
+                       size_t i;
+                       // Replaces undisplayable characters with "."
+                       for (i = 0; i < packet_len; ++i) {
+                               if (is_undisplayable_char(raw_packet[i]))
+                                       raw_packet[i] = '.';
+                       }
+
+                       char temp_char = raw_packet[detailed_log.leak_offset];
+                       raw_packet[detailed_log.leak_offset] = 0;
+                       elm_entry_entry_insert(entry, elm_entry_utf8_to_markup(raw_packet));
+                       elm_entry_entry_insert(entry, "<hilight>");
+                       raw_packet[detailed_log.leak_offset] = temp_char;
+                       temp_char = raw_packet[detailed_log.leak_offset + detailed_log.leak_len];
+                       raw_packet[detailed_log.leak_offset + detailed_log.leak_len] = 0;
+                       elm_entry_entry_insert(entry, elm_entry_utf8_to_markup(raw_packet + detailed_log.leak_offset));
+                       elm_entry_entry_insert(entry, "</hilight>");
+                       raw_packet[detailed_log.leak_offset + detailed_log.leak_len] = temp_char;
+                       // Make sure buffer is zero terminated
+                       raw_packet[packet_len] = 0;
+                       elm_entry_entry_insert(entry, elm_entry_utf8_to_markup(raw_packet + detailed_log.leak_offset + detailed_log.leak_len));
+
+                       free(raw_packet);
                }
-
-               const unsigned char last_byte = raw_packet[i];
-               char temp_char = raw_packet[detailed_log.leak_offset];
-               raw_packet[detailed_log.leak_offset] = 0;
-               elm_entry_entry_insert(entry, elm_entry_utf8_to_markup(raw_packet));
-               elm_entry_entry_insert(entry, "<hilight>");
-               raw_packet[detailed_log.leak_offset] = temp_char;
-               temp_char = raw_packet[detailed_log.leak_offset + detailed_log.leak_len];
-               raw_packet[detailed_log.leak_offset + detailed_log.leak_len] = 0;
-               elm_entry_entry_insert(entry, elm_entry_utf8_to_markup(raw_packet + detailed_log.leak_offset));
-               elm_entry_entry_insert(entry, "</hilight>");
-               raw_packet[detailed_log.leak_offset + detailed_log.leak_len] = temp_char;
-               // Make sure buffer is zero terminated
-               raw_packet[packet_len] = 0;
-               elm_entry_entry_insert(entry, elm_entry_utf8_to_markup(raw_packet + detailed_log.leak_offset + detailed_log.leak_len));
-
-               free(raw_packet);
        }
 
        evas_object_show(entry);
index ba3853e210ece586015a49eb8638c7bcc48fef90..f906bb30812169cb3727f593b5fd830da2e3c71d 100644 (file)
@@ -307,6 +307,8 @@ void create_privacy_dlp_pattern_delete_view(struct app_data_s *ad, const GList *
                        elm_object_disabled_set(it, EINA_TRUE);
        }
 
+       elm_genlist_item_class_free(itc);
+
        evas_object_show(data.genlist);
 
        /* Add genlist to naviframe */
index 1783114d853571a8fd1e1e7feb2a9692225dc439..8fe9b7a5a3b0a9b3625453b235ae89359505737d 100644 (file)
@@ -52,7 +52,7 @@ static bool _pg_dlp_leak_logs_cb(const char *app_name, time_t first_time_stamp,
                data->first_time_stamp = first_time_stamp;
                data->last_time_stamp = last_time_stamp;
                strncpy(data->application_icon, app_icon, LEN_APPLICATION_ICON);
-               data->application_name[LEN_APPLICATION_ICON - 1] = '\0';
+               data->application_icon[LEN_APPLICATION_ICON - 1] = '\0';
                data->leak_count = leak_count;
 
                dlp_leak_log_list = g_list_append(dlp_leak_log_list, data);
index 7d250de00e5a9a80bb3a5066bb599f1e795d9a9e..b7c4edd351add4d4190854ecea652e96394f501d 100644 (file)
@@ -321,7 +321,7 @@ void create_privacy_dlp_rule_delete_view(struct app_data_s *ad, const GList *rul
                                rule = ((rule_delete_item_s *)(l->data))->rule;
                }
        }
-
+       elm_genlist_item_class_free(itc);
        evas_object_show(data.genlist);
 
        /* Add genlist to naviframe */
index e03cf9e6c85c4b4e5eff78f2276bb3d42778d6ee..de2aab996f18d48c4810fba9f132e53e26f204f5 100644 (file)
@@ -356,6 +356,7 @@ void create_privacy_guard_package_list_view(struct app_data_s *ad)
 
                if (_create_privacy_guard_item_list() == FAIL) {
                        LOGE("_create_privacy_guard_item_list() is failed.");
+                       elm_genlist_item_class_free(itc);
                        return;
                }
                /* Append guide text to the top of genlist */
@@ -369,6 +370,7 @@ void create_privacy_guard_package_list_view(struct app_data_s *ad)
 
                if (description_item->label == NULL) {
                        LOGE("Failed to allocate memory");
+                       elm_genlist_item_class_free(itc);
                        return;
                }
                it = elm_genlist_item_append(genlist, itc, description_item, NULL, ELM_GENLIST_ITEM_NONE, _privacy_package_selected_cb, description_item);
@@ -393,6 +395,7 @@ void create_privacy_guard_package_list_view(struct app_data_s *ad)
                        item->pkg_id = strdup(data->pkg_id);
                        if (item->pkg_id == NULL) {
                                LOGE("Failed to allocate memory");
+                               elm_genlist_item_class_free(itc);
                                return;
                        }
                        // package label
@@ -415,6 +418,7 @@ void create_privacy_guard_package_list_view(struct app_data_s *ad)
                        item->label = strdup(str_temp);
                        if (item->label == NULL) {
                                LOGE("Failed to allocate memory");
+                               elm_genlist_item_class_free(itc);
                                return;
                        }
                        // description - e.g.) 25/08/2010 01:30 PM 21 time(s)
@@ -429,6 +433,7 @@ void create_privacy_guard_package_list_view(struct app_data_s *ad)
                                item->description = strdup(str_label);
                                if (item->description == NULL) {
                                        LOGE("Failed to allocate memory");
+                                       elm_genlist_item_class_free(itc);
                                        return;
                                }
                        } else {
@@ -442,6 +447,7 @@ void create_privacy_guard_package_list_view(struct app_data_s *ad)
                        item->privacy_id = strdup(ad->privacy);
                        if (item->privacy_id == NULL) {
                                LOGE("Failed to allocate memory");
+                               elm_genlist_item_class_free(itc);
                                return;
                        }
                        // icon
@@ -452,6 +458,7 @@ void create_privacy_guard_package_list_view(struct app_data_s *ad)
                                item->icon = strdup(DEFAULT_ICON_PATH);
                                if (item->icon == NULL) {
                                        LOGE("Failed to allocate memory");
+                                       elm_genlist_item_class_free(itc);
                                        return;
                                }
                        } else {
@@ -459,6 +466,7 @@ void create_privacy_guard_package_list_view(struct app_data_s *ad)
                                        item->icon = strdup(icon);
                                        if (item->icon == NULL) {
                                                LOGE("Failed to allocate memory");
+                                               elm_genlist_item_class_free(itc);
                                                return;
                                        }
                                } else {
@@ -466,6 +474,7 @@ void create_privacy_guard_package_list_view(struct app_data_s *ad)
                                        item->icon = strdup(DEFAULT_ICON_PATH);
                                        if (item->icon == NULL) {
                                                LOGE("Failed to allocate memory");
+                                               elm_genlist_item_class_free(itc);
                                                return;
                                        }
                                }
index 3c0901cda0a43f4c943de632524a04e468050182..8252dda5c4c1a638ae6b424df684146cacbcabd7 100644 (file)
@@ -353,8 +353,8 @@ static int pkg_list_cb(pkgmgrinfo_pkginfo_h filter_handle, void *user_data)
        char* privilege_name = strdup((char*)user_data);
        char *pkgid = NULL;
        int ret = pkgmgrinfo_pkginfo_get_pkgid(filter_handle, &pkgid);
+       return_if(ret != PMINFO_R_OK, free(pkgid); free(privilege_name), -1, "pkgmgrinfo_pkginfo_get_pkgname failed");
        char *pkgidd = strdup(pkgid);
-       return_if(ret != PMINFO_R_OK, free(pkgidd); free(privilege_name), -1, "pkgmgrinfo_pkginfo_get_pkgname failed");
        GList* find = g_list_find_custom(pkg_list, pkgid, (GCompareFunc)strcmp);
        if (find != NULL) {
                /* Add privilege info to package data list */