FORWARD_NULL после разыменования null? - PullRequest
7 голосов
/ 28 марта 2012

У меня есть эта строка кода:

this.Path = pathLookUpLocation.GetValue(RegLookupKey, null).ToString();

Когда я запускаю инструмент статического анализа (Coverity) для своего кода, я получаю здесь FORWARD_NULL, говоря, что я разыменую ноль здесь. У меня возникают проблемы с пониманием, что это значит и как мне исправить это?

this.Path - это строка, pathLookUpLocation - это ключ RegistryKey, RegLookupKey - это строка.

1 Ответ

5 голосов
/ 28 марта 2012

Полагаю, pathLookUpLocation имеет тип RegistryKey.

. Причиной этого сообщения является то, что ваш код будет выдавать NullReferenceException, если значение с ключом, заданным RegLookupKey, не найдено,Это происходит потому, что вы передаете null в качестве второго параметра GetValue.Второй параметр - это значение по умолчанию, которое возвращается, если ключ не может быть найден.

Исправьте его, изменив его на string.Empty:

this.Path = pathLookUpLocation.GetValue(RegLookupKey, string.Empty).ToString();
...