null チェックってなんだ?
write(p) を呼んでるのに writeせずにぬけてくるってことか?
それはバグの温床じゃないのか