Fix P120905-5573
authorKairong Yin <kairong78.yin@samsung.com>
Wed, 19 Sep 2012 08:04:45 +0000 (01:04 -0700)
committerKairong Yin <kairong78.yin@samsung.com>
Wed, 19 Sep 2012 08:04:45 +0000 (01:04 -0700)
Change-Id: I8835fa8ebef47c5a9b190803a5091b0ad3c8831e

setting-network/src/setting-network-connection-create.c

index 2049659..3d08096 100755 (executable)
@@ -434,7 +434,7 @@ static int setting_network_connection_create(void *cb)
                ad->data_acs_name->userdata = ad;
                ad->data_acs_name->limit_filter_data = calloc(1, sizeof(Elm_Entry_Filter_Accept_Set));
                if (ad->data_acs_name->limit_filter_data) {
-                       ad->data_acs_name->limit_filter_data->max_byte_count = NET_PDP_APN_LEN_MAX;
+                       ad->data_acs_name->limit_filter_data->max_byte_count = NET_PDP_APN_LEN_MAX - 1;
                        ad->data_acs_name->win_main = ad->win_get;
                }
 
@@ -482,7 +482,7 @@ static int setting_network_connection_create(void *cb)
                        ad->data_user_name->userdata = ad;
                        ad->data_user_name->limit_filter_data = calloc(1, sizeof(Elm_Entry_Filter_Accept_Set));
                        if (ad->data_user_name->limit_filter_data) {
-                               ad->data_user_name->limit_filter_data->max_byte_count = NET_PDP_AUTH_USERNAME_LEN_MAX;
+                               ad->data_user_name->limit_filter_data->max_byte_count = NET_PDP_AUTH_USERNAME_LEN_MAX - 1;
                                ad->data_user_name->win_main = ad->win_get;
                        }
                } else {
@@ -504,7 +504,7 @@ static int setting_network_connection_create(void *cb)
                        ad->data_pwd->isPasswordFlag = TRUE;
                        ad->data_pwd->limit_filter_data = calloc(1, sizeof(Elm_Entry_Filter_Accept_Set));
                        if (ad->data_pwd->limit_filter_data) {
-                               ad->data_pwd->limit_filter_data->max_byte_count = NET_PDP_AUTH_PASSWORD_LEN_MAX;
+                               ad->data_pwd->limit_filter_data->max_byte_count = NET_PDP_AUTH_PASSWORD_LEN_MAX - 1;
                                ad->data_pwd->win_main = ad->win_get;
                        }
                } else {
@@ -563,7 +563,7 @@ static int setting_network_connection_create(void *cb)
                        ad->data_hm_url->input_type = ELM_INPUT_PANEL_LAYOUT_URL;
                        ad->data_hm_url->limit_filter_data = calloc(1, sizeof(Elm_Entry_Filter_Accept_Set));
                        if (ad->data_hm_url->limit_filter_data) {
-                               ad->data_hm_url->limit_filter_data->max_byte_count = NET_HOME_URL_LEN_MAX;
+                               ad->data_hm_url->limit_filter_data->max_byte_count = NET_HOME_URL_LEN_MAX - 1;
                                ad->data_hm_url->win_main = ad->win_get;
                        }
                } else {
@@ -647,26 +647,26 @@ static int setting_network_edit_connection_save_connection(void *data)
        const char *home = NULL;
 
        if (ad->data_acs_name)
-               acs_name = ad->data_acs_name->sub_desc;
+               acs_name = elm_entry_markup_to_utf8(ad->data_acs_name->sub_desc);
        if (ad->data_user_name)
-               usr_name = ad->data_user_name->sub_desc;
+               usr_name = elm_entry_markup_to_utf8(ad->data_user_name->sub_desc);
        if (ad->data_pwd)
-               pwd = ad->data_pwd->sub_desc;
+               pwd = elm_entry_markup_to_utf8(ad->data_pwd->sub_desc);
        if (ad->data_pxy_addr)
-               addr = ad->data_pxy_addr->sub_desc;
+               addr = elm_entry_markup_to_utf8(ad->data_pxy_addr->sub_desc);
        if (ad->data_pxy_port)
-               port = ad->data_pxy_port->sub_desc;
+               port = elm_entry_markup_to_utf8(ad->data_pxy_port->sub_desc);
 
        if (!acs_name)
-               acs_name = "";
+               acs_name = strdup("");
        if (!usr_name)
-               usr_name = "";
+               usr_name = strdup("");
        if (!pwd)
-               pwd = "";
+               pwd = strdup("");
        if (!addr)
-               addr = "";
+               addr = strdup("");
        if (!port)
-               port = "";
+               port = strdup("");
        SETTING_TRACE("acs_name:%s", acs_name);
        SETTING_TRACE("usr_name:%s", usr_name);
        SETTING_TRACE("pwd:%s", pwd);
@@ -690,6 +690,11 @@ static int setting_network_edit_connection_save_connection(void *data)
        if (!safeStrCmp(acs_name, "")) {
                setting_create_simple_popup(ad, ad->win_get,
                                            NULL, _(Insert_Access_Name_desc));
+               FREE(acs_name);
+               FREE(usr_name);
+               FREE(pwd);
+               FREE(addr);
+               FREE(port);
                return SETTING_DNET_RETURN_NULL_ACCESS_NAME;
        } else {
                safeCopyStr(con_info->ProfileInfo.Pdp.Apn, acs_name,
@@ -730,6 +735,11 @@ static int setting_network_edit_connection_save_connection(void *data)
            && NET_PDP_AUTH_NONE != type) {
                setting_create_simple_popup(ad, ad->win_get,
                                            NULL, _(Insert_User_Name_Desc));
+               FREE(acs_name);
+               FREE(usr_name);
+               FREE(pwd);
+               FREE(addr);
+               FREE(port);
                return SETTING_DNET_RETURN_NULL_USER_NAME;
        } else {
                safeCopyStr(con_info->ProfileInfo.Pdp.AuthInfo.UserName,
@@ -740,6 +750,11 @@ static int setting_network_edit_connection_save_connection(void *data)
            && NET_PDP_AUTH_NONE != type) {
                setting_create_simple_popup(ad, ad->win_get,
                                            NULL, _("IDS_ST_BODY_ENTER_PASSWORD"));
+               FREE(acs_name);
+               FREE(usr_name);
+               FREE(pwd);
+               FREE(addr);
+               FREE(port);
                return SETTING_DNET_RETURN_NULL_PASSWORD;
        } else {
                safeCopyStr(con_info->ProfileInfo.Pdp.AuthInfo.Password, pwd,
@@ -753,6 +768,11 @@ static int setting_network_edit_connection_save_connection(void *data)
        } else if (!is_ip_string(addr)) {
                setting_create_simple_popup(ad, ad->win_get,
                                            NULL, _("IDS_ST_HEADER_INCORRECT_PROXY_ADDRESS"));
+               FREE(acs_name);
+               FREE(usr_name);
+               FREE(pwd);
+               FREE(addr);
+               FREE(port);
                return SETTING_DNET_RETURN_INVALID_PROXY_ADDR;
        }
        /* check proxy port */
@@ -768,13 +788,13 @@ static int setting_network_edit_connection_save_connection(void *data)
 
        /* save home url(message connection only) */
        if (ad->con_type == NET_SERVICE_MMS) {  /* Message Connection */
-               home = ad->data_hm_url->sub_desc;
+               home = elm_entry_markup_to_utf8(ad->data_hm_url->sub_desc);
                if (home == (char *)NULL) {
                        safeCopyStr(con_info->ProfileInfo.Pdp.HomeURL,
                                    URL_HEAD, NET_HOME_URL_LEN_MAX);
                } else {
                        if (!safeStrCmp(home, "")) {
-                               home = URL_HEAD;
+                               home = strdup(URL_HEAD);
                                ret = SETTING_DNET_RETURN_NULL_HOMEURL;
                        }
 
@@ -782,7 +802,12 @@ static int setting_network_edit_connection_save_connection(void *data)
                                    NET_HOME_URL_LEN_MAX);
                }
        }
-
+       FREE(acs_name);
+       FREE(usr_name);
+       FREE(pwd);
+       FREE(addr);
+       FREE(port);
+       FREE(home);
        SETTING_TRACE("ad->con_type:%d", ad->con_type);
        /* save connection */
        if (ad->prof_sel_idx == SETTING_ADD_PROFILE_INDEX) {
@@ -1166,7 +1191,7 @@ setting_network_edit_connection_display_auth_type(SettingNetworkUG *ad,
                            setting_network_connection_entry_changed_cb;
                        ad->data_user_name->limit_filter_data = calloc(1, sizeof(Elm_Entry_Filter_Accept_Set));
                        if (ad->data_user_name->limit_filter_data) {
-                               ad->data_user_name->limit_filter_data->max_byte_count = NET_PDP_AUTH_USERNAME_LEN_MAX;
+                               ad->data_user_name->limit_filter_data->max_byte_count = NET_PDP_AUTH_USERNAME_LEN_MAX - 1;
                                ad->data_user_name->win_main = ad->win_get;
                        }
                        ad->data_user_name->item =
@@ -1196,7 +1221,7 @@ setting_network_edit_connection_display_auth_type(SettingNetworkUG *ad,
                        /* ad->data_pwd->chk_change_cb = chk_change_cb; */
                        ad->data_pwd->limit_filter_data = calloc(1, sizeof(Elm_Entry_Filter_Accept_Set));
                        if (ad->data_pwd->limit_filter_data) {
-                               ad->data_pwd->limit_filter_data->max_byte_count = NET_PDP_AUTH_PASSWORD_LEN_MAX;
+                               ad->data_pwd->limit_filter_data->max_byte_count = NET_PDP_AUTH_PASSWORD_LEN_MAX - 1;
                                ad->data_pwd->win_main = ad->win_get;
                        }
                        ad->data_pwd->item =