diff options
author | Guy Harris <gharris@sonic.net> | 2023-05-06 15:50:41 -0700 |
---|---|---|
committer | Guy Harris <gharris@sonic.net> | 2023-05-06 15:50:41 -0700 |
commit | c6fb4eb56c839a3f04b51181992ba14b05d57bd2 (patch) | |
tree | bcd937a43b2451a805a710734dcf1e1c55bf9b78 | |
parent | ecbab714ecbe6893e6415295e4bf2fcc9d0d94b5 (diff) | |
download | libpcap-c6fb4eb56c839a3f04b51181992ba14b05d57bd2.tar.gz |
compiler: remove unneeded argument from gen_mcode6().
We don't support "<ipv6net> mask <ipv6mask>", so no need to pass an
<ipv6mask> argument.
-rw-r--r-- | gencode.c | 15 | ||||
-rw-r--r-- | gencode.h | 4 | ||||
-rw-r--r-- | grammar.y.in | 4 |
3 files changed, 10 insertions, 13 deletions
@@ -7188,8 +7188,8 @@ gen_ncode(compiler_state_t *cstate, const char *s, bpf_u_int32 v, struct qual q) #ifdef INET6 struct block * -gen_mcode6(compiler_state_t *cstate, const char *s1, const char *s2, - bpf_u_int32 masklen, struct qual q) +gen_mcode6(compiler_state_t *cstate, const char *s, bpf_u_int32 masklen, + struct qual q) { struct addrinfo *res; struct in6_addr *addr; @@ -7204,15 +7204,12 @@ gen_mcode6(compiler_state_t *cstate, const char *s1, const char *s2, if (setjmp(cstate->top_ctx)) return (NULL); - if (s2) - bpf_error(cstate, "no mask %s supported", s2); - - res = pcap_nametoaddrinfo(s1); + res = pcap_nametoaddrinfo(s); if (!res) - bpf_error(cstate, "invalid ip6 address %s", s1); + bpf_error(cstate, "invalid ip6 address %s", s); cstate->ai = res; if (res->ai_next) - bpf_error(cstate, "%s resolved to multiple address", s1); + bpf_error(cstate, "%s resolved to multiple address", s); addr = &((struct sockaddr_in6 *)res->ai_addr)->sin6_addr; if (masklen > sizeof(mask.s6_addr) * 8) @@ -7228,7 +7225,7 @@ gen_mcode6(compiler_state_t *cstate, const char *s1, const char *s2, memcpy(m, &mask, sizeof(m)); if ((a[0] & ~m[0]) || (a[1] & ~m[1]) || (a[2] & ~m[2]) || (a[3] & ~m[3])) { - bpf_error(cstate, "non-network bits set in \"%s/%d\"", s1, masklen); + bpf_error(cstate, "non-network bits set in \"%s/%d\"", s, masklen); } switch (q.addr) { @@ -327,8 +327,8 @@ struct block *gen_acode(compiler_state_t *, const char *, struct qual); struct block *gen_mcode(compiler_state_t *, const char *, const char *, bpf_u_int32, struct qual); #ifdef INET6 -struct block *gen_mcode6(compiler_state_t *, const char *, const char *, - bpf_u_int32, struct qual); +struct block *gen_mcode6(compiler_state_t *, const char *, bpf_u_int32, + struct qual); #endif struct block *gen_ncode(compiler_state_t *, const char *, bpf_u_int32, struct qual); diff --git a/grammar.y.in b/grammar.y.in index 2360d3c7..b8dabf7e 100644 --- a/grammar.y.in +++ b/grammar.y.in @@ -472,7 +472,7 @@ nid: ID { CHECK_PTR_VAL($1); CHECK_PTR_VAL(($$.b = gen_scode(cstate, $1, $$. | HID6 '/' NUM { CHECK_PTR_VAL($1); #ifdef INET6 - CHECK_PTR_VAL(($$.b = gen_mcode6(cstate, $1, NULL, $3, + CHECK_PTR_VAL(($$.b = gen_mcode6(cstate, $1, $3, $$.q = $<blk>0.q))); #else bpf_set_error(cstate, "'ip6addr/prefixlen' not supported " @@ -483,7 +483,7 @@ nid: ID { CHECK_PTR_VAL($1); CHECK_PTR_VAL(($$.b = gen_scode(cstate, $1, $$. | HID6 { CHECK_PTR_VAL($1); #ifdef INET6 - CHECK_PTR_VAL(($$.b = gen_mcode6(cstate, $1, 0, 128, + CHECK_PTR_VAL(($$.b = gen_mcode6(cstate, $1, 128, $$.q = $<blk>0.q))); #else bpf_set_error(cstate, "'ip6addr' not supported " |