calloc instead of malloc