Using calloc, instead of malloc, to ensure zeroed memory