Message ID | 20180115081547.bf2u3aqitnm3bmtl@mwanda |
---|---|
State | Changes Requested, archived |
Delegated to: | BPF Maintainers |
Headers | show |
Series | tools/bpftool: silence a static check warning | expand |
Hi Dan, On 01/15/2018 09:15 AM, Dan Carpenter wrote: > There is a static checker warning that proglen has an upper bound but no > lower bound. The allocation will just fail harmlessly so it's not a big > deal. > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > > diff --git a/tools/bpf/bpf_jit_disasm.c b/tools/bpf/bpf_jit_disasm.c > index 30044bc4f389..2d7bb5dc0b8c 100644 > --- a/tools/bpf/bpf_jit_disasm.c > +++ b/tools/bpf/bpf_jit_disasm.c > @@ -205,7 +205,7 @@ static uint8_t *get_last_jit_image(char *haystack, size_t hlen, > regfree(®ex); > return NULL; > } > - if (proglen > 1000000) { > + if (proglen < 0 || proglen > 1000000) { Could you just change proglen into unsigned? It's parsing the bpf_jit_dump() and there we use proglen=%u anyway. > printf("proglen of %d too big, stopping\n", proglen); > return NULL; > } > Thanks, Daniel
diff --git a/tools/bpf/bpf_jit_disasm.c b/tools/bpf/bpf_jit_disasm.c index 30044bc4f389..2d7bb5dc0b8c 100644 --- a/tools/bpf/bpf_jit_disasm.c +++ b/tools/bpf/bpf_jit_disasm.c @@ -205,7 +205,7 @@ static uint8_t *get_last_jit_image(char *haystack, size_t hlen, regfree(®ex); return NULL; } - if (proglen > 1000000) { + if (proglen < 0 || proglen > 1000000) { printf("proglen of %d too big, stopping\n", proglen); return NULL; }
There is a static checker warning that proglen has an upper bound but no lower bound. The allocation will just fail harmlessly so it's not a big deal. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>