1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00

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>
This commit is contained in:
Adhemerval Zanella
2021-09-27 16:07:08 -03:00
parent a4cf12360f
commit 21e0f45c7d
4 changed files with 354 additions and 5 deletions

View File

@ -0,0 +1 @@
#include "tst-socket-timestamp.c"