From 58ce85f6a17b6db03265e6a974120b18d1c0855a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 24 Oct 2019 09:15:29 +0200 Subject: [PATCH] test-socket-util: avoid writing past the defined buffer .sun_path has 108 bytes, and we'd write a string of 108 bytes + NUL. I added this test, but I don't know what it was supposed to test. Let's just remove. Fixes #13713. CID#1405854. --- src/test/test-socket-util.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/test/test-socket-util.c b/src/test/test-socket-util.c index 4e9a0bd..b36e005 100644 --- a/src/test/test-socket-util.c +++ b/src/test/test-socket-util.c @@ -66,7 +66,7 @@ static void test_socket_address_parse_one(const char *in, int ret, int family, c } #define SUN_PATH_LEN (sizeof(((struct sockaddr_un){}).sun_path)) -assert_cc(sizeof(((struct sockaddr_un){}).sun_path) == 108); +assert_cc(SUN_PATH_LEN == 108); static void test_socket_address_parse(void) { log_info("/* %s */", __func__); @@ -126,6 +126,7 @@ static void test_socket_address_parse(void) { static void test_socket_print_unix_one(const char *in, size_t len_in, const char *expected) { _cleanup_free_ char *out = NULL, *c = NULL; + assert(len_in <= SUN_PATH_LEN); SocketAddress a = { .sockaddr = { .un = { .sun_family = AF_UNIX } }, .size = offsetof(struct sockaddr_un, sun_path) + len_in, .type = SOCK_STREAM, @@ -152,8 +153,6 @@ static void test_socket_print_unix(void) { "@_________________________there\\'s 108 characters in this string_____________________________________________"); test_socket_print_unix_one("////////////////////////////////////////////////////////////////////////////////////////////////////////////", 108, "////////////////////////////////////////////////////////////////////////////////////////////////////////////"); - test_socket_print_unix_one("////////////////////////////////////////////////////////////////////////////////////////////////////////////", 109, - "////////////////////////////////////////////////////////////////////////////////////////////////////////////"); test_socket_print_unix_one("\0\a\b\n\255", 6, "@\\a\\b\\n\\255\\000"); } -- 2.7.4