[DPDK/other Bug 1587] lpm: undefined right shift
bugzilla at dpdk.org
bugzilla at dpdk.org
Thu Nov 21 00:12:29 CET 2024
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 at dpdk.org
Reporter: stephen at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20241120/03545997/attachment.htm>
More information about the dev
mailing list