freeing memory allocated for a linked list

Bill,

The freeing & allocating looks right to me - thought of a couple of
things to check, though.

1) make sure that in the get_bd function, patch->next=NULL;

2) ususally when I get Bus Errors, it's because I pass an address of
   a pointer instead of a pointer or I've declared the pointer
   type wrong at one side or the other of the function call.

-Bill B.