Что не нравится в fortify, так это то, что вы сначала инициализируете переменную с помощью null
без условий, а затем измените ее.
это должно работать:
String sortName;
if (lastName != null && lastName.length() > 0) {
sortName = lastName;
} else {
sortName = null;
}
sortOptions.setSortField(sortName);
(Или используйте троичный оператор, если хотите)
Таким образом, вы инициализируете sortName
только один раз и явно показываете, что значение null
является правильным в некоторых случаях, а не то, что вы забыли некоторые случаи,приводя к тому, что переменная остается null
пока она неожиданна.
Ошибка Разыменование нулевого значения произошла в строке кода sortName = lastName;
, а не вызовом установщика: fortify не хотят, чтобы выусловно изменить значение переменной, которая была установлена на null
, не делая этого во всех ветвях.