https://bugs.dpdk.org/show_bug.cgi?id=1587 Bug ID: 1587 Summary: lpm: undefined right shift Product: DPDK Version: unspecified Hardware: All OS: All Status: UNCONFIRMED Severity: normal Priority: Normal Component: other Assignee: dev@dpdk.org Reporter: stephen@networkplumber.org Target Milestone: --- Both rte_lpm.c and rte_lpm6.c are using >> operator on a negative integer. According to the C standard the result of that is implementation defined (ie not portable). Reported by PVS studio as warning: https://pvs-studio.com/en/docs/warnings/v610/ static uint32_t __rte_pure depth_to_mask(uint8_t depth) { VERIFY_DEPTH(depth); /* To calculate a mask start with a 1 on the left hand side and right * shift while populating the left hand side with 1's */ return (int)0x80000000 >> (depth - 1); } and static uint8_t __rte_pure depth_to_mask_1b(uint8_t depth) { /* To calculate a mask start with a 1 on the left hand side and right * shift while populating the left hand side with 1's */ return (signed char)0x80 >> (depth - 1); } -- You are receiving this mail because: You are the assignee for the bug.