From: Guy Harris Date: Fri, 29 Jul 2016 07:31:10 +0000 (-0700) Subject: Squelch warnings for negating an unsigned value. X-Git-Tag: libpcap-1.8.1~119 X-Git-Url: https://git.tcpdump.org/libpcap/commitdiff_plain/2fc98f9a355a97a69f8701cd7822ed5d6537c579 Squelch warnings for negating an unsigned value. --- diff --git a/bpf/net/bpf_filter.c b/bpf/net/bpf_filter.c index 1ce22f4c..01a1b64e 100644 --- a/bpf/net/bpf_filter.c +++ b/bpf/net/bpf_filter.c @@ -579,7 +579,12 @@ bpf_filter_with_aux_data(pc, p, wirelen, buflen, aux_data) continue; case BPF_ALU|BPF_NEG: - A = -A; + /* + * Most BPF arithmetic is unsigned, but negation + * can't be unsigned; throw some casts to + * specify what we're trying to do. + */ + A = (u_int32)(-(int32)A); continue; case BPF_MISC|BPF_TAX: