seg fault after check is complete and back in speller.c "0x0804c2f8 in ?? ()".  This address is put in use around dictionary.c line 89 which is a node *new_node = malloc(sizeof(node)); and never changes from value 0x000000.  Seg faults after line speller.c line 136 "if (ferror(fp))"