[LTP] [PATCH] getsockopt01: Add case for errno EINVAL
Yang Xu
xuyang2018.jy@fujitsu.com
Mon Apr 22 10:36:57 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/getsockopt/getsockopt01.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/testcases/kernel/syscalls/getsockopt/getsockopt01.c b/testcases/kernel/syscalls/getsockopt/getsockopt01.c
index 4da9bd0ea..05f2be890 100644
--- a/testcases/kernel/syscalls/getsockopt/getsockopt01.c
+++ b/testcases/kernel/syscalls/getsockopt/getsockopt01.c
@@ -15,6 +15,7 @@
* - ENOTSOCK on a file descriptor not linked to a socket
* - EFAULT on invalid address of value or length
* - EOPNOTSUPP on invalid option name or protocol
+ * - EINVAL on an invalid optlen
*/
#include "tst_test.h"
@@ -24,6 +25,7 @@ static struct sockaddr_in sin0;
static int sinlen;
static int optval;
static socklen_t optlen;
+static socklen_t optleninval;
static struct test_case {
int *sockfd;
@@ -56,7 +58,10 @@ static struct test_case {
.optlen = &optlen, .experrno = ENOPROTOOPT, .desc = "invalid option name (IP)"},
{.sockfd = &sock_bind, .level = IPPROTO_TCP, .optname = -1, .optval = &optval,
- .optlen = &optlen, .experrno = ENOPROTOOPT, .desc = "invalid option name (TCP)"}
+ .optlen = &optlen, .experrno = ENOPROTOOPT, .desc = "invalid option name (TCP)"},
+
+ {.sockfd = &sock_bind, .level = SOL_SOCKET, .optname = SO_OOBINLINE, .optval = &optval,
+ .optlen = &optleninval, .experrno = EINVAL, .desc = "invalid optlen"},
};
@@ -79,6 +84,7 @@ static void setup(void)
SAFE_BIND(sock_bind, (struct sockaddr *)&sin0, sizeof(sin0));
sinlen = sizeof(sin0);
optlen = sizeof(optval);
+ optleninval = -1;
}
static struct tst_test test = {
--
2.39.3
More information about the ltp
mailing list