add null ptr check