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

            Bug ID: 1925
           Summary: parameters of macros in lib/eal/include/rte_test.h are
                    not parenthesized
           Product: DPDK
           Version: 26.03
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: core
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Parameters of macros like RTE_TEST_ASSERT_EQUAL defined in
lib/eal/include/rte_test.h are not enclosed in parentheses, which potentially
may result in unintended operator precedence after substitution and in the
worst case scenario false negatives in library and user tests. E.g. the
following statement:
```c
RTE_TEST_ASSERT_EQUAL(port_status & FLAG_UP, FLAG_UP, "Port is not UP!");
```
will check bit 1 (FLAG_UP == FLAG_UP) of port_status, not FLAG_UP.

See https://gcc.gnu.org/onlinedocs/cpp/Operator-Precedence-Problems.html

Same problem in app/test/test.h

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

Reply via email to