Use calloc instead of malloc + memset; remove useless memset