REVERSE_INULL
означает, что у вас есть разыменование, сопровождаемое проверкой нулевого типа.
В псевдокоде
x := null
...
x.deref
...
if x is null
# handle null-type x
Исправление будет состоять в том, чтобы поставить проверку нулевого типа передразыменование.
FORWARD_NULL
- это просто место, где есть путь для разыменования переменной с нулевым значением.Другой пример псевдокода
x := null
...
if x is null
print warning
# but x is still null
x.deref
Здесь вы должны убедиться, что нулевое значение всегда обрабатывается.
Таким образом, в конечном итоге я бы сказал, что REVERSE_INULL
выполняет ту же проверку нулевого разыменованиякак FORWARD_NULL
, но он дополнительно обнаруживает проверку после разыменования.
(стандартный отказ от ответственности - я работаю для Synopsys, но не для подразделения, создающего Coverity).