This is a function to insert into a sorted linked list but it is showing segmentation fault (SIGSEGV)
void sortedInsert(struct node **head_ref, int data) {
struct node *new_node, *prev, *current;
new_node = (struct node*)malloc(sizeof(struct node));
new_node->data = data;
new_node->next = NULL;
if (*head_ref == NULL || (*head_ref)->data > data) {
new_node->next = *head_ref;
*head_ref = new_node;
return;
}
current = *head_ref;
prev = NULL;
while (current->data < data && current != NULL) {
prev = current;
current = current->next;
}
prev->next = new_node;
new_node->next = current;
}
while(current->data<data&¤t!=NULL)should bewhile(current!=NULL && current->data < data)struct node?