Работая с указателями, необходимо очень аккуратно передавать параметры, полностью осознавая, что необходимо сделать с данным параметром в функции.
Если вы передаете указатель на некоторую область памяти и внутри метода присваиваете ему новое значение, предварив его звездочкой, то фактически меняется значение, на которое указывает указатель.
Если же не предварять звездочкой при присвоении, то указателю присваивается новый адрес, который может оказаться отнюдь не корректным. Будьте аккуратны с указателями.