mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2025-10-31 22:25:25 -04:00
socket-test: don't try to be clever, fail if no XDG_RUNTIME_DIR is set
Not only setenv(), also putenv() allocates memory on my system (glibc 2.16.0). Just fail with a clear message if XDG_RUNTIME_DIR is not set. https://bugs.freedesktop.org/show_bug.cgi?id=52618
This commit is contained in:
parent
b57694ca0e
commit
0a633704e6
1 changed files with 10 additions and 11 deletions
|
|
@ -36,17 +36,20 @@ static const struct sockaddr_un example_sockaddr_un;
|
||||||
|
|
||||||
#define TOO_LONG (1 + sizeof example_sockaddr_un.sun_path)
|
#define TOO_LONG (1 + sizeof example_sockaddr_un.sun_path)
|
||||||
|
|
||||||
|
/* Ensure the connection doesn't fail due to lack of XDG_RUNTIME_DIR. */
|
||||||
|
static void require_xdg_runtime_dir()
|
||||||
|
{
|
||||||
|
char *val = getenv("XDG_RUNTIME_DIR");
|
||||||
|
if (!val)
|
||||||
|
assert(0 && "set $XDG_RUNTIME_DIR to run this test");
|
||||||
|
}
|
||||||
|
|
||||||
TEST(socket_path_overflow_client_connect)
|
TEST(socket_path_overflow_client_connect)
|
||||||
{
|
{
|
||||||
char path[TOO_LONG];
|
char path[TOO_LONG];
|
||||||
struct wl_display *d;
|
struct wl_display *d;
|
||||||
int ret;
|
|
||||||
|
|
||||||
/* Ensure the connection doesn't fail due to lack of
|
require_xdg_runtime_dir();
|
||||||
XDG_RUNTIME_DIR. Don't use setenv(), as that allocates
|
|
||||||
memory and creates a spurious memory leak failure. */
|
|
||||||
ret = putenv("XDG_RUNTIME_DIR=.");
|
|
||||||
assert(ret == 0);
|
|
||||||
|
|
||||||
memset(path, 'a', sizeof path);
|
memset(path, 'a', sizeof path);
|
||||||
path[sizeof path - 1] = '\0';
|
path[sizeof path - 1] = '\0';
|
||||||
|
|
@ -62,11 +65,7 @@ TEST(socket_path_overflow_server_create)
|
||||||
struct wl_display *d;
|
struct wl_display *d;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/* Ensure the connection doesn't fail due to lack of
|
require_xdg_runtime_dir();
|
||||||
XDG_RUNTIME_DIR. Don't use setenv(), as that allocates
|
|
||||||
memory and creates a spurious memory leak failure. */
|
|
||||||
ret = putenv("XDG_RUNTIME_DIR=.");
|
|
||||||
assert(ret == 0);
|
|
||||||
|
|
||||||
memset(path, 'a', sizeof path);
|
memset(path, 'a', sizeof path);
|
||||||
path[sizeof path - 1] = '\0';
|
path[sizeof path - 1] = '\0';
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue