aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@redhat.com>2020-04-30 09:34:08 +0200
committerMarc-André Lureau <marcandre.lureau@redhat.com>2020-07-20 00:21:32 +0400
commit2bbd06092ca3f0427dab1536374f5824e640767c (patch)
tree37fcd8d0f49a557abb490ff367663f3850f919ab
parentad23813e2f7f5820912b4b1e0d23b2d06ad348bb (diff)
downloadslirp-2bbd06092ca3f0427dab1536374f5824e640767c.zip
slirp-2bbd06092ca3f0427dab1536374f5824e640767c.tar.gz
slirp-2bbd06092ca3f0427dab1536374f5824e640767c.tar.bz2
Fix constness warnings
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é <philmd@redhat.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
-rw-r--r--src/arp_table.c3
-rw-r--r--src/dnssearch.c2
-rw-r--r--src/ncsi.c3
-rw-r--r--src/slirp.c3
-rw-r--r--src/slirp.h3
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 <string.h>
-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]);