http://bugs.dpdk.org/show_bug.cgi?id=1861

            Bug ID: 1861
           Summary: rte_memcpy references past end of source
           Product: DPDK
           Version: 25.11
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: minor
          Priority: Normal
         Component: core
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

When fips_validation example is compiled with Gcc-16 it generates an array out
of bounds warning inside rte_memcpy(). It looks like this because copy source
is a 15 byte array and rte_memcpy is using vector instruction that references
past that.


In function ‘get_hash_oid’,
    inlined from ‘prepare_rsa_xform’ at
../examples/fips_validation/main.c:1607:12:
../examples/fips_validation/main.c:890:20: warning: array subscript
‘__m128i_u[0]’ is partly outside array bounds of ‘uint8_t[15]’ {aka ‘unsigned
char[15]’} [-Warray-bounds=]
  890 |                 id = id_sha1;
      |                 ~~~^~~~~~~~~
../examples/fips_validation/main.c: In function ‘prepare_rsa_xform’:
../examples/fips_validation/main.c:882:17: note: object ‘id_sha1’ of size 15
  882 |         uint8_t id_sha1[] = {0x30, 0x21, 0x30, 0x09, 0x06, 0x05,


Workaround is to just use memcpy() which handles this case correctly.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to