diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-09-27 16:07:08 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-01-12 10:30:10 -0300 |
commit | 21e0f45c7d73df6fe30c77ffcc9f81410e2ee369 (patch) | |
tree | 32f861c62693a518a37113b2023543705cdc029d /sysdeps/unix/sysv/linux/tst-socket-timestamp-time64.c | |
parent | a4cf12360fb7a8eae4fa4923763309b7f10797c3 (diff) | |
download | glibc-21e0f45c7d73df6fe30c77ffcc9f81410e2ee369.tar glibc-21e0f45c7d73df6fe30c77ffcc9f81410e2ee369.tar.gz glibc-21e0f45c7d73df6fe30c77ffcc9f81410e2ee369.tar.bz2 glibc-21e0f45c7d73df6fe30c77ffcc9f81410e2ee369.zip |
linux: Fix ancillary 64-bit time timestamp conversion (BZ #28349, BZ #28350)
The __convert_scm_timestamps() only updates the control message last
pointer for SOL_SOCKET type, so if the message control buffer contains
multiple ancillary message types the converted timestamp one might
overwrite a valid message.
The test check if the extra ancillary space is correctly handled
by recvmsg/recvmmsg, where if there is no extra space for the 64-bit
time_t converted message the control buffer should be marked with
MSG_TRUNC. It also check if recvmsg/recvmmsg handle correctly multiple
ancillary data.
Checked on x86_64-linux and on i686-linux-gnu on both 5.11 and
4.15 kernel.
Co-authored-by: Fabian Vogt <fvogt@suse.de>
Diffstat (limited to 'sysdeps/unix/sysv/linux/tst-socket-timestamp-time64.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/tst-socket-timestamp-time64.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/tst-socket-timestamp-time64.c b/sysdeps/unix/sysv/linux/tst-socket-timestamp-time64.c new file mode 100644 index 0000000000..ae424c2a70 --- /dev/null +++ b/sysdeps/unix/sysv/linux/tst-socket-timestamp-time64.c @@ -0,0 +1 @@ +#include "tst-socket-timestamp.c" |