We already had this discussion in an earlier pull request. rand.read for crypto/rand is quarenteed to return n bytes or an error.

http://golang.org/pkg/crypto/rand/#Read