From cf2256196cc843b574e39eb05b77fc0c00024aa1 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Mon, 5 Jul 2021 12:48:48 +0000 Subject: linux: Fix setsockopt fallback The final 2 arguments for SO_TIMESTAMP/SO_TIMESTAMPNS are being set wrongly. Checked on x86_64-linux-gnu and i686-linux-gnu. --- sysdeps/unix/sysv/linux/setsockopt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sysdeps') diff --git a/sysdeps/unix/sysv/linux/setsockopt.c b/sysdeps/unix/sysv/linux/setsockopt.c index a4780a9d33..2792f1b5a1 100644 --- a/sysdeps/unix/sysv/linux/setsockopt.c +++ b/sysdeps/unix/sysv/linux/setsockopt.c @@ -78,7 +78,9 @@ setsockopt32 (int fd, int level, int optname, const void *optval, optname = COMPAT_SO_TIMESTAMP_OLD; if (optname == COMPAT_SO_TIMESTAMPNS_NEW) optname = COMPAT_SO_TIMESTAMPNS_OLD; - r = setsockopt_syscall (fd, level, optname, NULL, 0); + /* The expected type for the option is an 'int' for both types of + timestamp formats, so there is no need to convert it. */ + r = setsockopt_syscall (fd, level, optname, optval, len); } break; } -- cgit v1.2.3