Messages in this thread | | | Date | Sat, 26 Jan 2019 01:10:27 -0700 | From | Nathan Chancellor <> | Subject | Re: Clang warnings in net/phonet |
| |
On Mon, Jan 07, 2019 at 07:54:20PM -0700, Nathan Chancellor wrote: > Hi all, > > When building the kernel with Clang, this warning comes up in net/phonet. > > net/phonet/pep.c:224:16: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds] > ph->data[0] = oph->data[1]; /* CTRL id */ > ^ ~ > include/net/phonet/pep.h:66:3: note: array 'data' declared here > u8 data[1]; > ^ > net/phonet/pep.c:281:10: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds] > switch (hdr->data[1]) { > ^ ~ > include/net/phonet/pep.h:66:3: note: array 'data' declared here > u8 data[1]; > ^ > net/phonet/pep.c:285:12: warning: array index 4 is past the end of the array (which contains 1 element) [-Warray-bounds] > switch (hdr->data[4]) { > ^ ~ > include/net/phonet/pep.h:66:3: note: array 'data' declared here > u8 data[1]; > ^ > net/phonet/pep.c:295:8: warning: array index 4 is past the end of the array (which contains 1 element) [-Warray-bounds] > if (hdr->data[4] == PEP_IND_READY) > ^ ~ > include/net/phonet/pep.h:66:3: note: array 'data' declared here > u8 data[1]; > ^ > net/phonet/pep.c:304:21: warning: array index 4 is past the end of the array (which contains 1 element) [-Warray-bounds] > atomic_add(wake = hdr->data[4], &pn->tx_credits); > ^ ~ > include/net/phonet/pep.h:66:3: note: array 'data' declared here > u8 data[1]; > ^ > net/phonet/pep.c:509:9: warning: array index 4 is past the end of the array (which contains 1 element) [-Warray-bounds] > n_sb = hdr->data[4]; > ^ ~ > include/net/phonet/pep.h:66:3: note: array 'data' declared here > u8 data[1]; > ^ > net/phonet/pep.c:817:14: warning: array index 1 is past the end of the array (which contains 1 element) [-Warray-bounds] > peer_type = hdr->other_pep_type << 8; > ^ ~~~~~~~~~~~~~~ > include/net/phonet/pep.h:66:3: note: array 'data' declared here > u8 data[1]; > ^ > net/phonet/pep.c:820:9: warning: array index 4 is past the end of the array (which contains 1 element) [-Warray-bounds] > n_sb = hdr->data[4]; > ^ ~ > include/net/phonet/pep.h:66:3: note: array 'data' declared here > u8 data[1]; > ^ > 8 warnings generated. > > I have taken a look at the effected code but I can't really figure out > the proper fix for this warning (my knowledge of C just isn't there > yet). Nick had suggested changing 'u8 data[1]' to 'u8 *data' in > 'struct pnpipehdr', which seems logical but I can't say for sure. Any > advice would be appreciated :) > > Thanks, > Nathan
Gentle ping?
| |