summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brown2013-12-05 02:21:10 +0100
committerMichael Brown2013-12-05 02:21:10 +0100
commit2649e8ef70a95acd3a1cba8ba05cc83268b68a05 (patch)
tree38ddb3ee30c22d9993bc23d97d9fbefb668c9cc8 /src
parent[dns] Add support for resolving IPv6 addresses via AAAA records (diff)
downloadipxe-2649e8ef70a95acd3a1cba8ba05cc83268b68a05.tar.gz
ipxe-2649e8ef70a95acd3a1cba8ba05cc83268b68a05.tar.xz
ipxe-2649e8ef70a95acd3a1cba8ba05cc83268b68a05.zip
[socket] Ensure socket address structure sizes are fixed
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src')
-rw-r--r--src/include/ipxe/fc.h2
-rw-r--r--src/include/ipxe/in.h4
-rw-r--r--src/include/ipxe/socket.h2
-rw-r--r--src/include/ipxe/tcpip.h2
4 files changed, 5 insertions, 5 deletions
diff --git a/src/include/ipxe/fc.h b/src/include/ipxe/fc.h
index 6689f394..6fdef092 100644
--- a/src/include/ipxe/fc.h
+++ b/src/include/ipxe/fc.h
@@ -60,7 +60,7 @@ struct sockaddr_fc {
*/
char pad[ sizeof ( struct sockaddr ) - sizeof ( sa_family_t )
- sizeof ( struct fc_port_id ) ];
-} __attribute__ (( may_alias ));
+} __attribute__ (( packed, may_alias ));
extern struct fc_port_id fc_empty_port_id;
extern struct fc_port_id fc_f_port_id;
diff --git a/src/include/ipxe/in.h b/src/include/ipxe/in.h
index 0f19bbd7..36032470 100644
--- a/src/include/ipxe/in.h
+++ b/src/include/ipxe/in.h
@@ -88,7 +88,7 @@ struct sockaddr_in {
sizeof ( uint16_t ) /* sin_flags */ +
sizeof ( uint16_t ) /* sin_port */ +
sizeof ( struct in_addr ) /* sin_addr */ ) ];
-} __attribute__ (( may_alias ));
+} __attribute__ (( packed, may_alias ));
/**
* IPv6 socket address
@@ -122,7 +122,7 @@ struct sockaddr_in6 {
sizeof ( uint16_t ) /* sin6_port */ +
sizeof ( uint16_t ) /* sin6_scope_id */ +
sizeof ( struct in6_addr ) /* sin6_addr */ ) ];
-} __attribute__ (( may_alias ));
+} __attribute__ (( packed, may_alias ));
extern int inet_aton ( const char *cp, struct in_addr *inp );
extern char * inet_ntoa ( struct in_addr in );
diff --git a/src/include/ipxe/socket.h b/src/include/ipxe/socket.h
index d4cde2ef..7cb3912f 100644
--- a/src/include/ipxe/socket.h
+++ b/src/include/ipxe/socket.h
@@ -106,7 +106,7 @@ struct sockaddr {
* family.
*/
char pad[ SA_LEN - sizeof ( sa_family_t ) ];
-} __attribute__ (( may_alias ));
+} __attribute__ (( packed, may_alias ));
/**
* Socket address converter
diff --git a/src/include/ipxe/tcpip.h b/src/include/ipxe/tcpip.h
index b2c559e2..fdfbae11 100644
--- a/src/include/ipxe/tcpip.h
+++ b/src/include/ipxe/tcpip.h
@@ -57,7 +57,7 @@ struct sockaddr_tcpip {
( sizeof ( sa_family_t ) /* st_family */ +
sizeof ( uint16_t ) /* st_flags */ +
sizeof ( uint16_t ) /* st_port */ ) ];
-} __attribute__ (( may_alias ));
+} __attribute__ (( packed, may_alias ));
/**
* A transport-layer protocol of the TCP/IP stack (eg. UDP, TCP, etc)