]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
linux: Fix setsockopt fallback
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 5 Jul 2021 12:48:48 +0000 (12:48 +0000)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 6 Jul 2021 14:45:35 +0000 (11:45 -0300)
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

index a4780a9d33defcb4cd635ea2feb5e97082db6b6e..2792f1b5a16182a713315180f9a5bc80ebe2fed8 100644 (file)
@@ -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;
     }