mirror of
https://github.com/systemd/systemd.git
synced 2024-11-07 09:56:51 +03:00
dhcp6: fix warnings by clang with -Waddress-of-packed-member
This fixes the following warnings: ``` [194/1521] Compiling C object 'src/libsystemd-network/systemd-network@sta/dhcp6-option.c.o'. ../../git/systemd/src/libsystemd-network/dhcp6-option.c:110:25: warning: taking address of packed member 'id' of class or structure 'ia_na' may result in an unaligned pointer value [-Waddress-of-packed-member] iaid = &ia->ia_na.id; ^~~~~~~~~~~~ ../../git/systemd/src/libsystemd-network/dhcp6-option.c:115:25: warning: taking address of packed member 'id' of class or structure 'ia_ta' may result in an unaligned pointer value [-Waddress-of-packed-member] iaid = &ia->ia_ta.id; ^~~~~~~~~~~~ 2 warnings generated. ```
This commit is contained in:
parent
b7d16a91d6
commit
976fade6c1
@ -96,9 +96,8 @@ int dhcp6_option_append(uint8_t **buf, size_t *buflen, uint16_t code,
|
|||||||
|
|
||||||
int dhcp6_option_append_ia(uint8_t **buf, size_t *buflen, DHCP6IA *ia) {
|
int dhcp6_option_append_ia(uint8_t **buf, size_t *buflen, DHCP6IA *ia) {
|
||||||
uint16_t len;
|
uint16_t len;
|
||||||
be32_t *iaid;
|
|
||||||
uint8_t *ia_hdr;
|
uint8_t *ia_hdr;
|
||||||
size_t ia_buflen, ia_addrlen = 0;
|
size_t iaid_offset, ia_buflen, ia_addrlen = 0;
|
||||||
DHCP6Address *addr;
|
DHCP6Address *addr;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
@ -107,12 +106,12 @@ int dhcp6_option_append_ia(uint8_t **buf, size_t *buflen, DHCP6IA *ia) {
|
|||||||
switch (ia->type) {
|
switch (ia->type) {
|
||||||
case SD_DHCP6_OPTION_IA_NA:
|
case SD_DHCP6_OPTION_IA_NA:
|
||||||
len = DHCP6_OPTION_IA_NA_LEN;
|
len = DHCP6_OPTION_IA_NA_LEN;
|
||||||
iaid = &ia->ia_na.id;
|
iaid_offset = offsetof(DHCP6IA, ia_na);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SD_DHCP6_OPTION_IA_TA:
|
case SD_DHCP6_OPTION_IA_TA:
|
||||||
len = DHCP6_OPTION_IA_TA_LEN;
|
len = DHCP6_OPTION_IA_TA_LEN;
|
||||||
iaid = &ia->ia_ta.id;
|
iaid_offset = offsetof(DHCP6IA, ia_ta);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -128,7 +127,7 @@ int dhcp6_option_append_ia(uint8_t **buf, size_t *buflen, DHCP6IA *ia) {
|
|||||||
*buf += sizeof(DHCP6Option);
|
*buf += sizeof(DHCP6Option);
|
||||||
*buflen -= sizeof(DHCP6Option);
|
*buflen -= sizeof(DHCP6Option);
|
||||||
|
|
||||||
memcpy(*buf, iaid, len);
|
memcpy(*buf, (char*) ia + iaid_offset, len);
|
||||||
|
|
||||||
*buf += len;
|
*buf += len;
|
||||||
*buflen -= len;
|
*buflen -= len;
|
||||||
|
Loading…
Reference in New Issue
Block a user