[LTP] [PATCH] getsockname01: Add case for errno EINVAL

Yang Xu xuyang2018.jy@fujitsu.com
Mon Apr 22 10:35:28 CEST 2024


Currently there is no case for EINVAL, so a new case is added.

Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
---
 testcases/kernel/syscalls/getsockname/getsockname01.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/testcases/kernel/syscalls/getsockname/getsockname01.c b/testcases/kernel/syscalls/getsockname/getsockname01.c
index 111065469..5d921f4ad 100644
--- a/testcases/kernel/syscalls/getsockname/getsockname01.c
+++ b/testcases/kernel/syscalls/getsockname/getsockname01.c
@@ -12,6 +12,7 @@
  * - EBADF on a not open file
  * - ENOTSOCK on a file descriptor not linked to a socket
  * - EFAULT on invalid socket buffer o invalid socklen
+ * - EINVALI on an invalid addrlen
  */
 
 #include "tst_test.h"
@@ -19,6 +20,7 @@
 static struct sockaddr_in sin0, fsin1;
 static int sock_null, sock_bind, sock_fake;
 static socklen_t sinlen;
+static socklen_t sininval;
 
 static struct test_case {
 	int *sock;
@@ -37,6 +39,8 @@ static struct test_case {
 		.experrno = EFAULT, "invalid aligned salen"},
 	{ .sock = &sock_bind, .sockaddr = &fsin1, .addrlen = (socklen_t *) 1,
 		.experrno = EFAULT, "invalid unaligned salen"},
+	{ .sock = &sock_bind, .sockaddr = &fsin1, .addrlen = &sininval,
+		.experrno = EINVAL, "invalid socklen"},
 };
 
 static void check_getsockname(unsigned int nr)
@@ -57,6 +61,7 @@ static void setup(void)
 	sock_bind = SAFE_SOCKET(PF_INET, SOCK_STREAM, 0);
 	SAFE_BIND(sock_bind, (struct sockaddr *)&sin0, sizeof(sin0));
 	sinlen = sizeof(sin0);
+	sininval = -1;
 }
 
 static struct tst_test test = {
-- 
2.39.3



More information about the ltp mailing list