Free GVariant only if necessary 05/249505/1 accepted/tizen_6.0_unified accepted/tizen/6.0/unified/20210103.075747 submit/tizen_6.0/20201214.073644 submit/tizen_6.0/20201224.001845 submit/tizen_6.0/20201229.000030 submit/tizen_6.0/20201230.002400
authorKichan Kwon <k_c.kwon@samsung.com>
Wed, 22 Apr 2020 08:19:47 +0000 (17:19 +0900)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Mon, 14 Dec 2020 07:21:57 +0000 (07:21 +0000)
- g_dbus_connection_call_sync consumes GVariant argument
  on this situations
  - on succeed
  - on failed with setting GErr
- So, we have to free only if it is failed without setting GErr

Change-Id: I39466f7ac0cddb229bd61ace5f3b9687f80e069f
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
(cherry picked from commit ff7b51b24a2cfefa81abb13a4f1f4181f13a6dc4)

src/runtime_info_usage.c

index ff043101a6bdcbf471366166946fd82fb2f9664e..64120d231b14d3af6138418f06e7989960bdbc99 100644 (file)
@@ -176,7 +176,7 @@ static GVariant *runtime_info_dbus_request_usage_info(runtime_info_usage_type_e
                        *error = RUNTIME_INFO_ERROR_PERMISSION_DENIED;
                else
                        *error = RUNTIME_INFO_ERROR_REMOTE_IO;
-               if (args_in)
+               if (args_in && !err)
                        g_variant_unref(args_in);
                return NULL;
                //LCOV_EXCL_STOP