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.
This commit is contained in:
parent
1048436869
commit
58ce85f6a1
|
@ -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))
|
#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) {
|
static void test_socket_address_parse(void) {
|
||||||
log_info("/* %s */", __func__);
|
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) {
|
static void test_socket_print_unix_one(const char *in, size_t len_in, const char *expected) {
|
||||||
_cleanup_free_ char *out = NULL, *c = NULL;
|
_cleanup_free_ char *out = NULL, *c = NULL;
|
||||||
|
|
||||||
|
assert(len_in <= SUN_PATH_LEN);
|
||||||
SocketAddress a = { .sockaddr = { .un = { .sun_family = AF_UNIX } },
|
SocketAddress a = { .sockaddr = { .un = { .sun_family = AF_UNIX } },
|
||||||
.size = offsetof(struct sockaddr_un, sun_path) + len_in,
|
.size = offsetof(struct sockaddr_un, sun_path) + len_in,
|
||||||
.type = SOCK_STREAM,
|
.type = SOCK_STREAM,
|
||||||
|
@ -152,8 +153,6 @@ static void test_socket_print_unix(void) {
|
||||||
"@_________________________there\\'s 108 characters in this string_____________________________________________");
|
"@_________________________there\\'s 108 characters in this string_____________________________________________");
|
||||||
test_socket_print_unix_one("////////////////////////////////////////////////////////////////////////////////////////////////////////////", 108,
|
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");
|
test_socket_print_unix_one("\0\a\b\n\255", 6, "@\\a\\b\\n\\255\\000");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue