summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gencode.c15
-rw-r--r--gencode.h4
-rw-r--r--grammar.y.in4
3 files changed, 10 insertions, 13 deletions
diff --git a/gencode.c b/gencode.c
index f6a2cac2..138ed3ac 100644
--- a/gencode.c
+++ b/gencode.c
@@ -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) {
diff --git a/gencode.h b/gencode.h
index 93ca5216..b8296ab2 100644
--- a/gencode.h
+++ b/gencode.h
@@ -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 "