The behavior is undefined if arithmetic or comparison operations are applied to pointers that point to items belonging to different arrays.
Consider the following example:
int a, b; fill(a, b); if (&a > &b)
There is some bug in this code. For example, it could have been affected by bad "find and replace" in some lines. Assume that the '&' operators are unnecessary here. Then the fixed version should look like this:
if (a > b)
According to Common Weakness Enumeration, potential errors found by using this diagnostic are classified as CWE-758.