sessiond: Fix a memory leak 49/295049/1 accepted/tizen/8.0/unified/20231005.093843 accepted/tizen/unified/20230706.152121 tizen_8.0_m2_release
authorAdam Michalski <a.michalski2@partner.samsung.com>
Fri, 30 Jun 2023 12:51:24 +0000 (14:51 +0200)
committerAdam Michalski <a.michalski2@partner.samsung.com>
Fri, 30 Jun 2023 12:51:24 +0000 (14:51 +0200)
Change-Id: I758a664f234206809310bf8074de7537746e2937

src/service/src/tuple_g_variant_helpers.hpp

index 52fac01ae97ea14cd9b5f281e4f9843a747387ec..2466ca020736f65f890c1987d8a29bf29e0152c1 100644 (file)
@@ -119,9 +119,13 @@ std::tuple<T, T1, Ts...> tuple_from_g_variant_inner(GVariant *variant)
 template <typename... Ts>
 std::tuple<Ts...> tuple_from_g_variant(GVariant *variant)
 {
-       if (!g_variant_is_of_type(variant, g_variant_type_new(type_of_g_variant<Ts...>().c_str())))
+       GVariantType *type = g_variant_type_new(type_of_g_variant<Ts...>().c_str());
+       if (!g_variant_is_of_type(variant, type)) {
+               g_variant_type_free(type);
                throw std::system_error(std::error_code(), "Invalid parameters type");
+       }
 
+       g_variant_type_free(type);
        return tuple_from_g_variant_inner<0, Ts...>(variant);
 }