Hello,

GCC 12 suspects an out-of-bound write in NEON port_groupx4():

In file included from examples/ipsec-secgw/ipsec_neon.h:9,
                 from examples/ipsec-secgw/ipsec_lpm_neon.h:9,
                 from examples/ipsec-secgw/ipsec_worker.c:16:
examples/common/neon/port_group.h: In function 'port_groupx4':
examples/common/neon/port_group.h:42:21: error:
        array subscript 'union <anonymous>[0]' is partly outside
        array bounds of 'uint16_t[5]'
   42 |                 pnum->u64 = gptbl[v].pnum;
      |                     ^~
examples/common/neon/port_group.h:21:23: note:
        object 'pn' of size [0, 10]
   21 | port_groupx4(uint16_t pn[FWDSTEP + 1], uint16_t *lp, uint16x8_t dp1,
      |              ~~~~~~~~~^~~~~~~~~~~~~~~
examples/common/neon/port_group.h:43:21: error:
        array subscript 'union <anonymous>[0]' is partly outside
        array bounds of 'uint16_t[5]'
   43 |                 pnum->u16[FWDSTEP] = 1;
      |                     ^~
examples/common/neon/port_group.h:21:23: note:
        object 'pn' of size [0, 10]
   21 | port_groupx4(uint16_t pn[FWDSTEP + 1], uint16_t *lp, uint16x8_t dp1,
      |              ~~~~~~~~~^~~~~~~~~~~~~~~

Please could you help fixing it?


Reply via email to