bt-ipsp: Modify _execute_command function 45/126045/3
authorh.sandeep <h.sandeep@samsung.com>
Wed, 19 Apr 2017 09:57:44 +0000 (15:27 +0530)
committerh.sandeep <h.sandeep@samsung.com>
Thu, 20 Apr 2017 04:59:19 +0000 (10:29 +0530)
This patch addresses the issue raised in the below link
http://suprem.sec.samsung.net/jira/browse/TSAM-13214

Change-Id: Icac1765b8a42f283b0b73ce41a6b48c70411df1d
Signed-off-by: h.sandeep <h.sandeep@samsung.com>
bt-ipsp/bt-ipsp.c

index 533dacb..1e3972a 100644 (file)
@@ -548,7 +548,7 @@ int __bt_ipsp_create_ipv6_remote_address(char *remote_address, char **ipv6_addre
        return BT_ERROR_NONE;
 }
 
-int _execute_command(const char *cmd)
+static int _execute_ip_command(const char *ip_args)
 {
        if (cmd == NULL) {
                BT_ERR("Invalid param\n");
@@ -559,10 +559,16 @@ int _execute_command(const char *cmd)
        int exit_status = 0;
        pid_t pid = 0;
        gchar **args = NULL;
+       char ip_cmd[MAX_BUF_SIZE] = {0, };
 
-       BT_DBG("CMD : %s\n", cmd);
+       BT_DBG("Args : %s\n", ip_args);
 
-       args = g_strsplit_set(cmd, " ", -1);
+       snprintf(ip_cmd, sizeof(ip_cmd), "%s -6 neigh add %s",
+                       IP_CMD, ip_args);
+
+       BT_DBG("IP_CMD : %s\n", ip_cmd);
+
+       args = g_strsplit_set(ip_cmd, " ", -1);
        if (!args) {
                BT_ERR("g_strsplit_set failed\n");
                return -1;
@@ -608,19 +614,18 @@ gboolean __bt_ipsp_add_ipv6_neigh_proxy(char *if_name, char *ip)
                return TRUE;
        }
 
-       char cmd[MAX_BUF_SIZE] = {0, };
+       char args[MAX_BUF_SIZE] = {0, };
 
-       snprintf(cmd, sizeof(cmd), "%s -6 neigh add "IPV6_NEIGH_PROXY,
-                       IP_CMD, ip, if_name);
+       snprintf(args, sizeof(args), IPV6_NEIGH_PROXY,
+                       ip, if_name);
 
-       if (_execute_command(cmd)) {
-               BT_ERR("%s is failed\n", cmd);
+       if (_execute_ip_command(args)) {
+               BT_ERR("%s is failed\n", args);
                return FALSE;
        }
 
        BT_DBG("--");
        return TRUE;
-
 }
 
 gboolean __bt_ipsp_add_ipv6_route(char *if_name, char *ip, int prefix)
@@ -631,7 +636,7 @@ gboolean __bt_ipsp_add_ipv6_route(char *if_name, char *ip, int prefix)
                return TRUE;
        }
 
-       char cmd[MAX_BUF_SIZE] = {0, };
+       char args[MAX_BUF_SIZE] = {0, };
        char routing_ip[MH_MAX_IPV6_ADDRESS_STR_LEN] = {0, };
        char *copied_ip = NULL;
        int len = (prefix % 4) + 4;
@@ -641,22 +646,20 @@ gboolean __bt_ipsp_add_ipv6_route(char *if_name, char *ip, int prefix)
                g_snprintf(routing_ip, sizeof(routing_ip), "%s:", copied_ip);
                g_free(copied_ip);
 
-               snprintf(cmd, sizeof(cmd), "%s -6 route add "IPV6_INTERFACE_ROUTING,
-                               IP_CMD, ip, prefix, if_name);
+               snprintf(args, sizeof(args), IPV6_INTERFACE_ROUTING,
+                               ip, prefix, if_name);
        } else {
-               snprintf(cmd, sizeof(cmd), "%s -6 route add "IPV6_INTERFACE_ROUTING,
-                               IP_CMD, ip, prefix, if_name);
+               snprintf(args, sizeof(args), IPV6_INTERFACE_ROUTING,
+                               ip, prefix, if_name);
        }
 
-       if (_execute_command(cmd)) {
-               BT_ERR("%s is failed\n", cmd);
+       if (_execute_ip_command(args)) {
+               BT_ERR("%s is failed\n", args);
                return FALSE;
        }
 
        BT_DBG("--");
        return TRUE;
-
-
 }
 
 static void __bt_ipsp_dbus_method(GDBusConnection *connection,