summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2018-10-22 01:23:45 -0700
committerGuy Harris <guy@alum.mit.edu>2018-10-22 01:23:45 -0700
commitdcce86c9adf20c71bf2b4405270a6e3ffeb12013 (patch)
tree547e1415266ebdcd474ee149c4f7d7140bbd9779
parent3b0db5fcf238d45dce362efdba0229557f39790a (diff)
downloadlibpcap-dcce86c9adf20c71bf2b4405270a6e3ffeb12013.tar.gz
Handle *all* protocol qualifiers in gen_host() - even link/tr/etc.
We missed that one. Credit to OSS-Fuzz for finding this issue.
-rw-r--r--gencode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gencode.c b/gencode.c
index 536c73d2..33d81d82 100644
--- a/gencode.c
+++ b/gencode.c
@@ -4814,6 +4814,9 @@ gen_host(compiler_state_t *cstate, bpf_u_int32 addr, bpf_u_int32 mask,
}
return b0;
+ case Q_LINK:
+ bpf_error(cstate, "link-layer modifier applied to %s", typestr);
+
case Q_IP:
return gen_hostop(cstate, addr, mask, dir, ETHERTYPE_IP, 12, 16);