[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