tools: fix memory leak 18/268918/1 accepted/tizen_6.5_unified tizen_6.5 accepted/tizen/6.5/unified/20220105.120539 submit/tizen_6.5/20220105.012705
authorHyunsoo Park <hance.park@samsung.com>
Mon, 29 Nov 2021 06:12:18 +0000 (15:12 +0900)
committerHyunsoo Park <hance.park@samsung.com>
Wed, 5 Jan 2022 00:59:00 +0000 (09:59 +0900)
[Version] : 0.2.26
[Issue type] : Bug fix

Change-Id: Iae1e9f9dce67a9fa30387e478b33ae54b569e4cd
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
packaging/capi-media-screen-mirroring.spec
test_sink/scmirroring_primary_sink_test.c

index e6964f134c82ad7db6916b6d17845fb85561be82..6e1f406471d78c00c2e5b7bd5b64ac560f827407 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-screen-mirroring
 Summary:    A screen mirroring library in Tizen C API
-Version:    0.2.25
+Version:    0.2.26
 Release:    1
 Group:      Multimedia/API
 License:    Apache-2.0
index 8c2928499ee56896adf818a1d2c80fc007e82e51..4285a277688c124e551c955b343d084c51aa35aa 100644 (file)
@@ -797,22 +797,30 @@ static int __wifi_direct_device_connect()
 
 #endif
 
+static void __display_sub_menu(gint sub_menu, GSourceFunc func_name)
+{
+       g_menu = sub_menu;
+       g_timeout_add(100, func_name, 0);
+}
+
 static void __interpret(char *cmd)
 {
        int ret = SCMIRRORING_ERROR_NONE;
        gchar **value;
-       value = g_strsplit(cmd, " ", 0);
 
        //Source Side
-
        if (strncmp(cmd, "M", 1) == 0) {
                ret = _scmirroring_primary_src_create();
        } else if (strncmp(cmd, "A", 1) == 0) {
+               value = g_strsplit(cmd, " ", 0);
                ret = scmirroring_primary_src_set_ip_and_port(scmirroring_primary_sink, value[1], value[2]);
                g_print("Input server IP and port number IP[%s] Port[%s]\n", value[1], value[2]);
+               g_strfreev(value);
        } else if (strncmp(cmd, "O", 1) == 0) {
+               value = g_strsplit(cmd, " ", 0);
                ret = scmirroring_primary_src_set_coupling_mode(scmirroring_primary_sink, atoi(value[1]));
                g_print("cOupling mode [%d]\n", atoi(value[1]));
+               g_strfreev(value);
        } else if (strncmp(cmd, "C", 1) == 0) {
                g_print("Set state Changed callback function and Connect\n");
                ret = scmirroring_primary_src_set_state_changed_cb(scmirroring_primary_sink, scmirroring_source_state_callback, NULL);
@@ -850,28 +858,26 @@ static void __interpret(char *cmd)
        } else if (strncmp(cmd, "q", 1) == 0) {
                __quit_program_sink();
        } else if (strncmp(cmd, "I", 1) == 0) {
-               g_menu = SUBMENU_SETTING_SINK;
-               g_timeout_add(100, __timeout_sink_submenu_display, 0);
+               __display_sub_menu(SUBMENU_SETTING_SINK, __timeout_sink_submenu_display);
                return;
        } else if (strncmp(cmd, "L", 1) == 0) {
-               g_menu = SUBMENU_RESOLUTION;
-               g_timeout_add(100, __timeout_resolution_submenu_display, 0);
+               __display_sub_menu(SUBMENU_RESOLUTION, __timeout_resolution_submenu_display);
                return;
        } else if (strncmp(cmd, "G", 1) == 0) {
-               g_menu = SUBMENU_GETTING_STREAM_INFO;
-               g_timeout_add(100, __timeout_stream_info_submenu_display, 0);
+               __display_sub_menu(SUBMENU_GETTING_STREAM_INFO, __timeout_stream_info_submenu_display);
                return;
        } else if (strncmp(cmd, "K", 1) == 0) {
-               g_menu = SUBMENU_SETTING_WINDOW_SIZE;
-               g_timeout_add(100, __timeout_window_size_submenu_display, 0);
+               __display_sub_menu(SUBMENU_SETTING_WINDOW_SIZE, __timeout_window_size_submenu_display);
                return;
        }
 #ifndef TEST_WITH_WIFI_DIRECT
        else if (strncmp(cmd, "a", 1) == 0) {
                ret = __scmirroring_primary_sink_create(NULL);
                if (ret == SCMIRRORING_ERROR_NONE) {
+                       value = g_strsplit(cmd, " ", 0);
                        ret = scmirroring_primary_sink_set_ip_and_port(scmirroring_primary_sink, value[1], value[2]);
                        g_print("Input server IP and port number IP[%s] Port[%s]\n", value[1], value[2]);
+                       g_strfreev(value);
                }
        } else if (strncmp(cmd, "s", 1) == 0) {
                g_print("Start\n");
@@ -879,10 +885,12 @@ static void __interpret(char *cmd)
        }
 #else
        else if (strncmp(cmd, "b", 1) == 0) {
+               value = g_strsplit(cmd, " ", 0);
                strncpy(g_src_mac_addr, value[1], sizeof(g_src_mac_addr));
                g_src_mac_addr[17] = '\0';
                g_print("Src mac address : %s\n", g_src_mac_addr);
                ret = __wifi_direct_device_connect();
+               g_strfreev(value);
        }
 #endif
        else
@@ -892,7 +900,6 @@ static void __interpret(char *cmd)
                g_print("Error Occured [%d]", ret);
 
        g_timeout_add(100, __timeout_menu_display, 0);
-       g_strfreev(value);
 
        return;
 }