[igt-dev] [PATCH i-g-t v3 15/21] lib/igt_chamelium: Fixup resources liberation in comparison helpers

Paul Kocialkowski
2019-01-11T09:06:39Z

This fixes a bunch of occurrences of memory not being properly
liberated after its use in helpers revolving around frame/CRC
comparison.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
lib/igt_chamelium.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/lib/igt_chamelium.c b/lib/igt_chamelium.c
index 32b859eac4a7..0b6ac37a3d89 100644
--- a/lib/igt_chamelium.c
+++ b/lib/igt_chamelium.c
@@ -1060,9 +1060,9 @@ void chamelium_assert_crc_eq_or_dump(struct chamelium *chamelium,
free(reference_suffix);
free(capture_suffix);

- chamelium_destroy_frame_dump(frame);
-
+ cairo_surface_destroy(reference);
cairo_surface_destroy(capture);
+ chamelium_destroy_frame_dump(frame);
}

igt_assert(eq);
@@ -1120,11 +1120,14 @@ void chamelium_assert_analog_frame_match_or_dump(struct chamelium *chamelium,

free(reference_suffix);
free(capture_suffix);
+ free(reference_crc);
+ free(capture_crc);
}

- cairo_surface_destroy(capture);
-
igt_assert(match);
+
+ cairo_surface_destroy(reference);
+ cairo_surface_destroy(capture);
}

@@ -1323,6 +1326,8 @@ igt_crc_t *chamelium_calculate_fb_crc(int fd, struct igt_fb *fb)

chamelium_do_calculate_fb_crc(fb_surface, ret);

+ cairo_surface_destroy(fb_surface);
+
return ret;
}

--
2.20.1