From 2bbd06092ca3f0427dab1536374f5824e640767c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 30 Apr 2020 09:34:08 +0200 Subject: Fix constness warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix the following GCC warnings: src/ncsi.c: In function ‘ncsi_input’: src/ncsi.c:139:31: error: cast discards ‘const’ qualifier from pointer target type [-Werror=cast-qual] 139 | struct ncsi_pkt_hdr *nh = (struct ncsi_pkt_hdr *)(pkt + ETH_HLEN); | ^ src/dnssearch.c: In function ‘translate_dnssearch’: src/dnssearch.c:242:33: error: cast discards ‘const’ qualifier from pointer target type [-Werror=cast-qual] 242 | num_domains = g_strv_length((GStrv)names); | ^ src/slirp.c: In function ‘arp_input’: src/slirp.c:747:31: error: cast discards ‘const’ qualifier from pointer target type [-Werror=cast-qual] 747 | struct slirp_arphdr *ah = (struct slirp_arphdr *)(pkt + ETH_HLEN); | ^ src/dnssearch.c: In function ‘translate_dnssearch’: src/dnssearch.c:242:33: error: cast discards ‘const’ qualifier from pointer target type [-Werror=cast-qual] 242 | num_domains = g_strv_length((const GStrv)names); | ^ src/slirp.c: In function ‘arp_input’: src/slirp.c:764:48: error: passing argument 3 of ‘arp_table_add’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] 764 | arp_table_add(slirp, ah->ar_sip, ah->ar_sha); | ~~^~~~~~~~ In file included from src/slirp.c:25: src/slirp.h:101:60: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘const unsigned char *’ 101 | void arp_table_add(Slirp *slirp, uint32_t ip_addr, uint8_t ethaddr[ETH_ALEN]); | ~~~~~~~~^~~~~~~~~~~~~~~~~ src/slirp.c:783:48: error: passing argument 3 of ‘arp_table_add’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] 783 | arp_table_add(slirp, ah->ar_sip, ah->ar_sha); | ~~^~~~~~~~ In file included from src/slirp.c:25: src/slirp.h:101:60: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘const unsigned char *’ 101 | void arp_table_add(Slirp *slirp, uint32_t ip_addr, uint8_t ethaddr[ETH_ALEN]); | ~~~~~~~~^~~~~~~~~~~~~~~~~ src/slirp.c:804:44: error: passing argument 3 of ‘arp_table_add’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] 804 | arp_table_add(slirp, ah->ar_sip, ah->ar_sha); | ~~^~~~~~~~ In file included from src/slirp.c:25: src/slirp.h:101:60: note: expected ‘uint8_t *’ {aka ‘unsigned char *’} but argument is of type ‘const unsigned char *’ 101 | void arp_table_add(Slirp *slirp, uint32_t ip_addr, uint8_t ethaddr[ETH_ALEN]); | ~~~~~~~~^~~~~~~~~~~~~~~~~ Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Samuel Thibault Signed-off-by: Marc-André Lureau --- src/arp_table.c | 3 ++- src/dnssearch.c | 2 +- src/ncsi.c | 3 ++- src/slirp.c | 3 ++- src/slirp.h | 3 ++- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/arp_table.c b/src/arp_table.c index 054fbf5..959e5b9 100644 --- a/src/arp_table.c +++ b/src/arp_table.c @@ -27,7 +27,8 @@ #include -void arp_table_add(Slirp *slirp, uint32_t ip_addr, uint8_t ethaddr[ETH_ALEN]) +void arp_table_add(Slirp *slirp, uint32_t ip_addr, + const uint8_t ethaddr[ETH_ALEN]) { const uint32_t broadcast_addr = ~slirp->vnetwork_mask.s_addr | slirp->vnetwork_addr.s_addr; diff --git a/src/dnssearch.c b/src/dnssearch.c index e8f14e3..55497e8 100644 --- a/src/dnssearch.c +++ b/src/dnssearch.c @@ -239,7 +239,7 @@ int translate_dnssearch(Slirp *s, const char **names) uint8_t *result = NULL, *outptr; CompactDomain *domains = NULL; - num_domains = g_strv_length((GStrv)names); + num_domains = g_strv_length((GStrv)(void *)names); if (num_domains == 0) { return -2; } diff --git a/src/ncsi.c b/src/ncsi.c index ddd980d..3c1dfef 100644 --- a/src/ncsi.c +++ b/src/ncsi.c @@ -136,7 +136,8 @@ static const struct ncsi_rsp_handler { void ncsi_input(Slirp *slirp, const uint8_t *pkt, int pkt_len) { - struct ncsi_pkt_hdr *nh = (struct ncsi_pkt_hdr *)(pkt + ETH_HLEN); + const struct ncsi_pkt_hdr *nh = + (const struct ncsi_pkt_hdr *)(pkt + ETH_HLEN); uint8_t ncsi_reply[ETH_HLEN + NCSI_MAX_LEN]; struct ethhdr *reh = (struct ethhdr *)ncsi_reply; struct ncsi_rsp_pkt_hdr *rnh = diff --git a/src/slirp.c b/src/slirp.c index 14458e8..7effcf5 100644 --- a/src/slirp.c +++ b/src/slirp.c @@ -744,7 +744,8 @@ void slirp_pollfds_poll(Slirp *slirp, int select_error, static void arp_input(Slirp *slirp, const uint8_t *pkt, int pkt_len) { - struct slirp_arphdr *ah = (struct slirp_arphdr *)(pkt + ETH_HLEN); + const struct slirp_arphdr *ah = + (const struct slirp_arphdr *)(pkt + ETH_HLEN); uint8_t arp_reply[MAX(ETH_HLEN + sizeof(struct slirp_arphdr), 64)]; struct ethhdr *reh = (struct ethhdr *)arp_reply; struct slirp_arphdr *rah = (struct slirp_arphdr *)(arp_reply + ETH_HLEN); diff --git a/src/slirp.h b/src/slirp.h index 32634bc..763a65b 100644 --- a/src/slirp.h +++ b/src/slirp.h @@ -98,7 +98,8 @@ typedef struct ArpTable { int next_victim; } ArpTable; -void arp_table_add(Slirp *slirp, uint32_t ip_addr, uint8_t ethaddr[ETH_ALEN]); +void arp_table_add(Slirp *slirp, uint32_t ip_addr, + const uint8_t ethaddr[ETH_ALEN]); bool arp_table_search(Slirp *slirp, uint32_t ip_addr, uint8_t out_ethaddr[ETH_ALEN]); -- cgit v1.1