[glib: 1/2] tests: Fix leak of dlopened module in pollable test
- From: Simon McVittie <smcv src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 1/2] tests: Fix leak of dlopened module in pollable test
- Date: Thu, 25 Feb 2021 18:26:58 +0000 (UTC)
commit 57a5ed3d086d94e27a76a3aa8e7736507d82fc68
Author: Philip Withnall <pwithnall endlessos org>
Date: Tue Feb 9 11:06:53 2021 +0000
tests: Fix leak of dlopened module in pollable test
Coverity CID: #1446243
Signed-off-by: Philip Withnall <pwithnall endlessos org>
gio/tests/pollable.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/gio/tests/pollable.c b/gio/tests/pollable.c
index 9a2a3cc8c..01049788b 100644
--- a/gio/tests/pollable.c
+++ b/gio/tests/pollable.c
@@ -187,25 +187,28 @@ test_pollable_unix_pty (void)
{
int (*openpty_impl) (int *, int *, char *, void *, void *);
int a, b, status;
+#ifdef __linux__
+ void *handle;
+#endif
g_test_summary ("Test that PTYs are considered pollable");
#ifdef __linux__
- dlopen ("libutil.so", RTLD_GLOBAL | RTLD_LAZY);
+ handle = dlopen ("libutil.so", RTLD_GLOBAL | RTLD_LAZY);
#endif
openpty_impl = dlsym (RTLD_DEFAULT, "openpty");
if (openpty_impl == NULL)
{
g_test_skip ("System does not support openpty()");
- return;
+ goto close_libutil;
}
status = openpty_impl (&a, &b, NULL, NULL, NULL);
if (status == -1)
{
g_test_skip ("Unable to open PTY");
- return;
+ goto close_libutil;
}
in = G_POLLABLE_INPUT_STREAM (g_unix_input_stream_new (a, TRUE));
@@ -218,6 +221,11 @@ test_pollable_unix_pty (void)
close (a);
close (b);
+
+close_libutil:
+#ifdef __linux__
+ dlclose (handle);
+#endif
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]