From 55cc5af0f445d1912a55600aeca882390a04a661 Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Mon, 5 Dec 2022 14:22:38 +0100 Subject: [PATCH] tests: unref GVariant objects We need to drop the reference count of the GVariants we create when packing hogs and line names. This fixes all memory leaks in tests that are caused by this bug. Signed-off-by: Bartosz Golaszewski --- tests/tests-chip.c | 9 ++++++--- tests/tests-line-info.c | 6 ++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/tests/tests-chip.c b/tests/tests-chip.c index efb4f74..c512908 100644 --- a/tests/tests-chip.c +++ b/tests/tests-chip.c @@ -80,10 +80,11 @@ GPIOD_TEST_CASE(find_line_bad) g_autoptr(GPIOSimChip) sim = NULL; g_autoptr(struct_gpiod_chip) chip = NULL; + g_autoptr(GVariant) vnames = gpiod_test_package_line_names(names); sim = g_gpiosim_chip_new( "num-lines", 8, - "line-names", gpiod_test_package_line_names(names), + "line-names", vnames, NULL); chip = gpiod_test_open_chip_or_fail(g_gpiosim_chip_get_dev_path(sim)); @@ -106,10 +107,11 @@ GPIOD_TEST_CASE(find_line_good) g_autoptr(GPIOSimChip) sim = NULL; g_autoptr(struct_gpiod_chip) chip = NULL; + g_autoptr(GVariant) vnames = gpiod_test_package_line_names(names); sim = g_gpiosim_chip_new( "num-lines", 8, - "line-names", gpiod_test_package_line_names(names), + "line-names", vnames, NULL); chip = gpiod_test_open_chip_or_fail(g_gpiosim_chip_get_dev_path(sim)); @@ -131,10 +133,11 @@ GPIOD_TEST_CASE(find_line_duplicate) g_autoptr(GPIOSimChip) sim = NULL; g_autoptr(struct_gpiod_chip) chip = NULL; + g_autoptr(GVariant) vnames = gpiod_test_package_line_names(names); sim = g_gpiosim_chip_new( "num-lines", 8, - "line-names", gpiod_test_package_line_names(names), + "line-names", vnames, NULL); chip = gpiod_test_open_chip_or_fail(g_gpiosim_chip_get_dev_path(sim)); diff --git a/tests/tests-line-info.c b/tests/tests-line-info.c index 8ec1b1b..a580b71 100644 --- a/tests/tests-line-info.c +++ b/tests/tests-line-info.c @@ -65,11 +65,13 @@ GPIOD_TEST_CASE(line_info_basic_properties) g_autoptr(struct_gpiod_chip) chip = NULL; g_autoptr(struct_gpiod_line_info) info4 = NULL; g_autoptr(struct_gpiod_line_info) info6 = NULL; + g_autoptr(GVariant) vnames = gpiod_test_package_line_names(names); + g_autoptr(GVariant) vhogs = gpiod_test_package_hogs(hogs); sim = g_gpiosim_chip_new( "num-lines", 8, - "line-names", gpiod_test_package_line_names(names), - "hogs", gpiod_test_package_hogs(hogs), + "line-names", vnames, + "hogs", vhogs, NULL); chip = gpiod_test_open_chip_or_fail(g_gpiosim_chip_get_dev_path(sim)); -- 2.30.2