summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>2019-05-30 14:29:42 +0300
committerYevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>2019-06-18 12:34:22 +0300
commitf6a8740bdf08f66c2ef80272a081dee91f5127b5 (patch)
tree794abc2bd78438de8ae0d6459432d87c4b40ee65
parentbf9f362df40fcf1491e4383c6713eb7de61571e3 (diff)
tests: Free memory returned by glXChooseFBConfig
Memory, allocated in glXGetFBConfigs, has to be freed manually. Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
-rw-r--r--tests/glx/glx-close-display.c2
-rw-r--r--tests/glx/glx-swap-copy.c3
-rw-r--r--tests/glx/glx-swap-event.c2
-rw-r--r--tests/glx/glx-swap-exchange.c3
-rw-r--r--tests/spec/glx_arb_create_context/ext-no-config-context.c3
-rw-r--r--tests/util/piglit-glx-util.c4
6 files changed, 17 insertions, 0 deletions
diff --git a/tests/glx/glx-close-display.c b/tests/glx/glx-close-display.c
index 946f1f3cf..54b73e319 100644
--- a/tests/glx/glx-close-display.c
+++ b/tests/glx/glx-close-display.c
@@ -71,6 +71,8 @@ isDirectRendering(void)
result = glXIsDirect(dpy, ctx);
glXDestroyContext(dpy, ctx);
+ XFree(configs);
+
/* This call will cause *_dri.so to be dlclosed and unloaded. */
XCloseDisplay(dpy);
diff --git a/tests/glx/glx-swap-copy.c b/tests/glx/glx-swap-copy.c
index 7d5b4aef6..50ed0eb94 100644
--- a/tests/glx/glx-swap-copy.c
+++ b/tests/glx/glx-swap-copy.c
@@ -126,6 +126,7 @@ main(int argc, char **argv)
config = piglit_get_swap_copy_config(dpy);
visinfo = glXGetVisualFromFBConfig(dpy, config[0]);
if (!visinfo) {
+ XFree(config);
printf("Error: couldn't create a visual from fbconfig.\n");
piglit_report_result(PIGLIT_FAIL);
}
@@ -139,5 +140,7 @@ main(int argc, char **argv)
piglit_glx_event_loop(dpy, draw);
+ XFree(config);
+
return 0;
}
diff --git a/tests/glx/glx-swap-event.c b/tests/glx/glx-swap-event.c
index 25c3c4ab2..a86410380 100644
--- a/tests/glx/glx-swap-event.c
+++ b/tests/glx/glx-swap-event.c
@@ -325,6 +325,7 @@ make_window( Display *dpy, const char *name,
}
visinfo = glXGetVisualFromFBConfig(dpy, fbc[0]);
if (!visinfo) {
+ XFree(fbc);
printf("Error: couldn't get an RGB, Double-buffered visual\n");
piglit_report_result(PIGLIT_SKIP);
}
@@ -353,6 +354,7 @@ make_window( Display *dpy, const char *name,
XFree(visinfo);
+ XFree(fbc);
*winRet = win;
*ctxRet = ctx;
diff --git a/tests/glx/glx-swap-exchange.c b/tests/glx/glx-swap-exchange.c
index 51864045e..8dba88431 100644
--- a/tests/glx/glx-swap-exchange.c
+++ b/tests/glx/glx-swap-exchange.c
@@ -126,6 +126,7 @@ main(int argc, char **argv)
config = piglit_get_swap_exchange_config(dpy);
visinfo = glXGetVisualFromFBConfig(dpy, config[0]);
if (!visinfo) {
+ XFree(config);
printf("Error: couldn't create a visual from fbconfig.\n");
piglit_report_result(PIGLIT_FAIL);
}
@@ -141,5 +142,7 @@ main(int argc, char **argv)
piglit_glx_event_loop(dpy, draw);
+ XFree(config);
+
return 0;
}
diff --git a/tests/spec/glx_arb_create_context/ext-no-config-context.c b/tests/spec/glx_arb_create_context/ext-no-config-context.c
index fa61ab431..9fa652489 100644
--- a/tests/spec/glx_arb_create_context/ext-no-config-context.c
+++ b/tests/spec/glx_arb_create_context/ext-no-config-context.c
@@ -66,6 +66,7 @@ int main(int argc, char **argv)
if (!glXMakeCurrent(dpy, window, ctx)) {
fprintf(stderr, "Failed to make current\n");
+ XFree(configs);
piglit_report_result(PIGLIT_FAIL);
return 0;
}
@@ -73,6 +74,8 @@ int main(int argc, char **argv)
GLX_ARB_create_context_teardown();
+ XFree(configs);
+
piglit_report_result(PIGLIT_PASS);
return 0;
}
diff --git a/tests/util/piglit-glx-util.c b/tests/util/piglit-glx-util.c
index 85f7eef5f..860fd7e3b 100644
--- a/tests/util/piglit-glx-util.c
+++ b/tests/util/piglit-glx-util.c
@@ -337,6 +337,8 @@ piglit_glx_iterate_pixmap_fbconfigs(enum piglit_result (*draw)(Display *dpy,
glXDestroyContext(dpy, ctx);
}
+ XFree(configs);
+
if (any_fail)
return PIGLIT_FAIL;
else if (any_pass)
@@ -395,6 +397,8 @@ piglit_glx_iterate_visuals(enum piglit_result (*draw)(Display *dpy,
glXDestroyContext(dpy, ctx);
}
+ XFree(configs);
+
if (any_fail)
return PIGLIT_FAIL;
else if (any_pass)