Some arrays are using more memory size than is actually needed.
For this reason, the size of the arrays has been modified to reduce unnecessary memory usage.
Change-Id: I6b74e6d201bd93b67deb1334385d2c281db0fc5b
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
extern "C" {
#endif /* __cplusplus */
-#define NET_PROFILE_NAME_LEN_MAX 512 /** Profile name max length */
+#define NET_PROFILE_NAME_LEN_MAX 144 /** Profile name max length */
#define NET_HOME_URL_LEN_MAX 512 /** Home URL max length in profile account */
#define NET_IPV4_STR_LEN_MAX 15 /** Maximum length of IPv4 string type e.g.,
"165.213.173.105". This length does not
/** Length of raw SSID */
#define NET_WLAN_RAW_SSID_LEN 32
-/** Length of ESSID */
-#define NET_WLAN_ESSID_LEN 128
+/** Length of ESSID: 32(raw essid size) x 3(U+FFFD REPLACEMENT CHARACTER) */
+#define NET_WLAN_ESSID_LEN 96
/** Length of BSSID */
#define NET_WLAN_BSSID_LEN 17
GSList *list = NULL;
GVariant *params = NULL;
GVariantBuilder *builder;
- char ssid[NET_WLAN_ESSID_LEN] = {0, };
+ char ssid[NET_WLAN_ESSID_LEN + 1] = {0, };
WIFI_LOG(WIFI_INFO, "Number of elements in a list: %d", g_slist_length(nl_scan_list));
if (nl_scan_list != NULL) {
for (list = nl_scan_list; list; list = list->next) {
WIFI_LOG(WIFI_INFO, "AP name: %s", (char *)list->data);
- g_strlcpy(ssid, (char *)list->data, NET_WLAN_ESSID_LEN);
+ g_strlcpy(ssid, (char *)list->data, NET_WLAN_ESSID_LEN + 1);
g_variant_builder_add(builder, "{sv}", "SSID", g_variant_new_string(ssid));
}
}
GSList *list = NULL;
GVariant *params = NULL;
GVariantBuilder *builder;
- char ssid[NET_WLAN_ESSID_LEN] = {0, };
+ char ssid[NET_WLAN_ESSID_LEN + 1] = {0, };
char freq[NET_WLAN_FREQ_LEN] = {0, };
WIFI_LOG(WIFI_INFO, "multi_scan_type:%d, Number of elements in a list:%d",
if (request_table[NETWORK_REQUEST_TYPE_MULTI_SCAN].multi_scan_type == WIFI_MULTI_SCAN_SSID) {
for (list = multi_scan_list; list; list = list->next) {
WIFI_LOG(WIFI_INFO, "AP name: %s", ((wifi_manager_multi_scan_ap_s *)list->data)->str);
- g_strlcpy(ssid, ((wifi_manager_multi_scan_ap_s *)list->data)->str, NET_WLAN_ESSID_LEN);
+ g_strlcpy(ssid, ((wifi_manager_multi_scan_ap_s *)list->data)->str, NET_WLAN_ESSID_LEN + 1);
g_variant_builder_add(builder, "{sv}", "SSID", g_variant_new_string(ssid));
}
} else if (request_table[NETWORK_REQUEST_TYPE_MULTI_SCAN].multi_scan_type == WIFI_MULTI_SCAN_FREQ) {
for (list = multi_scan_list; list; list = list->next) {
if (((wifi_manager_multi_scan_ap_s *)list->data)->flag == true) {
WIFI_LOG(WIFI_INFO, "[Mixed]AP name: %s", ((wifi_manager_multi_scan_ap_s *)list->data)->str);
- g_strlcpy(ssid, ((wifi_manager_multi_scan_ap_s *)list->data)->str, NET_WLAN_ESSID_LEN);
+ g_strlcpy(ssid, ((wifi_manager_multi_scan_ap_s *)list->data)->str, NET_WLAN_ESSID_LEN + 1);
g_variant_builder_add(builder, "{sv}", "SSID_Mixed", g_variant_new_string(ssid));
} else {
WIFI_LOG(WIFI_INFO, "[Mixed]Freq: %s", ((wifi_manager_multi_scan_ap_s *)list->data)->str);
value = g_variant_get_string(var, NULL);
if (value != NULL)
- g_strlcpy(ProfInfo->essid, value, NET_WLAN_ESSID_LEN);
+ g_strlcpy(ProfInfo->essid, value, NET_WLAN_ESSID_LEN + 1);
} else if (g_strcmp0(key, "Passphrase") == 0) {
wlan_security_info_s *security_info = &(ProfInfo->security_info);
value = g_variant_get_string(var, NULL);
return Error;
}
- g_strlcpy(ProfInfo->ProfileName, ProfileName, NET_PROFILE_NAME_LEN_MAX);
+ g_strlcpy(ProfInfo->ProfileName, ProfileName, NET_PROFILE_NAME_LEN_MAX + 1);
g_strlcpy(ProfInfo->net_info.ProfileName,
- ProfileName, NET_PROFILE_NAME_LEN_MAX);
+ ProfileName, NET_PROFILE_NAME_LEN_MAX + 1);
Error = __net_extract_wifi_info(iter, ProfInfo);
}
if (g_strrstr(obj + strlen(service_prefix), "hidden") != NULL)
ProfInfo->is_hidden = TRUE;
- g_strlcpy(ProfInfo->ProfileName, obj, NET_PROFILE_NAME_LEN_MAX);
+ g_strlcpy(ProfInfo->ProfileName, obj, NET_PROFILE_NAME_LEN_MAX + 1);
g_strlcpy(ProfInfo->net_info.ProfileName,
- obj, NET_PROFILE_NAME_LEN_MAX);
+ obj, NET_PROFILE_NAME_LEN_MAX + 1);
Error = __net_extract_wifi_info(next, ProfInfo);
}
request_table[NETWORK_REQUEST_TYPE_SPECIFIC_SCAN].flag = TRUE;
- g_strlcpy(request_table[NETWORK_REQUEST_TYPE_SPECIFIC_SCAN].ssid, ssid, NET_WLAN_ESSID_LEN+1);
+ g_strlcpy(request_table[NETWORK_REQUEST_TYPE_SPECIFIC_SCAN].ssid, ssid, NET_WLAN_ESSID_LEN + 1);
Error = _net_dbus_specific_scan_request(ssid);
if (Error != NET_ERR_NONE) {
WIFI_LOG(WIFI_ERROR, "Failed to allocate memory"); //LCOV_EXCL_LINE
return NET_ERR_OUT_OF_MEMORY; //LCOV_EXCL_LINE
}
- g_strlcpy(temp->str, ((wifi_manager_multi_scan_ap_s *)list->data)->str, NET_WLAN_ESSID_LEN);
+ g_strlcpy(temp->str, ((wifi_manager_multi_scan_ap_s *)list->data)->str, NET_WLAN_ESSID_LEN + 1);
temp->flag = ((wifi_manager_multi_scan_ap_s *)list->data)->flag;
request_table[NETWORK_REQUEST_TYPE_MULTI_SCAN].multi_scan_list = g_slist_append(
return NET_ERR_UNKNOWN;
}
- g_strlcpy(bss->ssid, ssid, NET_WLAN_ESSID_LEN);
+ g_strlcpy(bss->ssid, ssid, NET_WLAN_ESSID_LEN + 1);
if (raw_ssid != NULL && raw_ssid_len > 0 &&
raw_ssid_len < (NET_WLAN_RAW_SSID_LEN+1)) {
memcpy(bss->raw_ssid, raw_ssid, raw_ssid_len);
}
g_strlcpy(ap_info->net_info.ProfileName,
- profile_name, NET_PROFILE_NAME_LEN_MAX);
+ profile_name, NET_PROFILE_NAME_LEN_MAX + 1);
g_free(profile_name);
WIFI_LOG(WIFI_ERROR, "Failed to allocate memory"); //LCOV_EXCL_LINE
return WIFI_MANAGER_ERROR_OUT_OF_MEMORY; //LCOV_EXCL_LINE
}
- g_strlcpy(ap->str, essid, NET_WLAN_ESSID_LEN);
+ g_strlcpy(ap->str, essid, NET_WLAN_ESSID_LEN + 1);
ap->flag = true;
list = g_slist_append(list, ap);