Given this snippet of code, identify the size-m problem.
void deleteList(struct contact* node) {
if (node != NULL) {
deleteList(node->next);
free(node);
} else
return;
}

A. void deleteList(struct contact* node)
B. deleteList(node->next);
C. if (node == NULL) then return void
D. free(node);