mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-21 14:17:30 -04:00
BUILD: quic_sock: address a strict-aliasing build warning with gcc 5 and 6
The UDP GSO code emits a build warning with older toolchains (gcc 5 and 6):
src/quic_sock.c: In function 'cmsg_set_gso':
src/quic_sock.c:683:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*((uint16_t *)CMSG_DATA(c)) = gso_size;
^
Let's just use the write_u16() function that's made for this purpose.
It was verified that for all versions from 5 to 13, gcc produces the
exact same code with the fix (and without the warning). It arrived in
3.1 with commit 448d3d388a ("MINOR: quic: add GSO parameter on quic_sock
send API") so this can be backported there.
This commit is contained in:
parent
870f7aa5cf
commit
dd900aead8
1 changed files with 1 additions and 1 deletions
|
|
@ -680,7 +680,7 @@ static void cmsg_set_gso(struct msghdr *msg, struct cmsghdr **cmsg,
|
|||
c->cmsg_level = SOL_UDP;
|
||||
c->cmsg_type = UDP_SEGMENT;
|
||||
c->cmsg_len = CMSG_LEN(sz);
|
||||
*((uint16_t *)CMSG_DATA(c)) = gso_size;
|
||||
write_u16(CMSG_DATA(c), gso_size);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue