typedef int Element;

typedef struct tListNode {
Element data;
struct tListNode *link;
}ListNode; ->>>>> 몸체노드



typedef struct{
int count;
ListNode *head;
}List; ->>>>> 바디노드



void insertList(List *pList, Element data)
{
ListNode *temp=NULL;
ListNode *before=NULL;
ListNode *pNewNode = (ListNode*)malloc(sizeof(ListNode));
pNewNode->data = data;
pNewNode->link = NULL;

temp = pList->head;

if(pList->head==NULL){
pList->head=pNewNode;
}
else{
while(temp->data>=pNewNode->data&&temp!=NULL)
{
before=temp;
temp=temp->link;
}

if(temp==NULL)
{
before->link = pNewNode;
}
else
{
pNewNode->link =before->link;
before->link = pNewNode;
}
}

pList->count++;
}




오름차순으로 int값을 넣어주는건데 인풋할때 메모리 오류가 자꾸 뜨네요..

왜 그럴까요