From: Laine Stump Date: Mon, 19 Feb 2018 17:56:11 +0000 (-0500) Subject: nwfilter: assure virNWFilterSnoop(Eth|Dhcp)Hdr structs don't change size X-Git-Tag: v4.1.0-rc1~66 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f565321b26dfb78c1dc2d6cf5456b9b80f04c7f3;p=thirdparty%2Flibvirt.git nwfilter: assure virNWFilterSnoop(Eth|Dhcp)Hdr structs don't change size These two objects are used to access fields in actual ethernet packets captures with libpcap, so it's essential that they don't change size for any reason. This patch uses gnulib's verify() macro to make sure their sizes don't change. Signed-off-by: Laine Stump Reviewed-by: Daniel P. Berrangé --- diff --git a/src/nwfilter/nwfilter_dhcpsnoop.c b/src/nwfilter/nwfilter_dhcpsnoop.c index 743136277d..8e955150fa 100644 --- a/src/nwfilter/nwfilter_dhcpsnoop.c +++ b/src/nwfilter/nwfilter_dhcpsnoop.c @@ -195,6 +195,7 @@ struct _virNWFilterSnoopEthHdr { uint16_t eh_type; uint8_t eh_data[]; } ATTRIBUTE_PACKED; +verify(sizeof(struct _virNWFilterSnoopEthHdr) == 14); typedef struct _virNWFilterSnoopDHCPHdr virNWFilterSnoopDHCPHdr; typedef virNWFilterSnoopDHCPHdr *virNWFilterSnoopDHCPHdrPtr; @@ -216,6 +217,7 @@ struct _virNWFilterSnoopDHCPHdr { char d_file[128]; uint8_t d_opts[]; } ATTRIBUTE_PACKED; +verify(sizeof(struct _virNWFilterSnoopDHCPHdr) == 236); /* DHCP options */