I have a song library linked list which I'm trying to delete, however when I'm testing it, my data is still there and not freed up. 

```
deleteAllNodes(head);
if (head == NULL)
    printMusicLibraryEmpty();

```

I'm trying to test that if my head is now NULL, I'll print my empty message, but right now it isn't printing, which means the data isn't erased. 

```
Node *deleteAllNodes(Node *head) {
while (head != NULL) {
    Node *firstNode = head;
    songNameDeleted(firstNode -> songName);
    head = head -> link;
    free(firstNode);
    firstNode = NULL;
}
return NULL;
} 

```