- SAFE_FREE(sour->xrefstr);
- DESTROY_CHAIN_ELTS(source_event, sour->data.event, source_event_cleanup)
- SAFE_FREE(sour->data.agency)
- DESTROY_CHAIN_ELTS(note_sub, sour->data.note, note_sub_cleanup)
- SAFE_FREE(sour->author);
- SAFE_FREE(sour->title);
- SAFE_FREE(sour->abbreviation);
- SAFE_FREE(sour->publication);
- SAFE_FREE(sour->text);
- DESTROY_CHAIN_ELTS(note_sub, sour->repository.note, note_sub_cleanup)
- DESTROY_CHAIN_ELTS(source_description, sour->repository.description,
- source_description_cleanup)
- DESTROY_CHAIN_ELTS(multimedia_link, sour->mm_link, multimedia_link_cleanup)
- DESTROY_CHAIN_ELTS(note_sub, sour->note, note_sub_cleanup)
- DESTROY_CHAIN_ELTS(user_ref_number, sour->ref, user_ref_cleanup)
- SAFE_FREE(sour->record_id);
- change_date_cleanup(sour->change_date);
- DESTROY_CHAIN_ELTS(user_data, sour->extra, user_data_cleanup)
+ if (sour) {
+ SAFE_FREE(sour->xrefstr);
+ DESTROY_CHAIN_ELTS(source_event, sour->data.event, source_event_cleanup);
+ SAFE_FREE(sour->data.agency)
+ DESTROY_CHAIN_ELTS(note_sub, sour->data.note, note_sub_cleanup);
+ SAFE_FREE(sour->author);
+ SAFE_FREE(sour->title);
+ SAFE_FREE(sour->abbreviation);
+ SAFE_FREE(sour->publication);
+ SAFE_FREE(sour->text);
+ DESTROY_CHAIN_ELTS(note_sub, sour->repository.note, note_sub_cleanup);
+ DESTROY_CHAIN_ELTS(source_description, sour->repository.description,
+ source_description_cleanup);
+ DESTROY_CHAIN_ELTS(multimedia_link, sour->mm_link,multimedia_link_cleanup);
+ DESTROY_CHAIN_ELTS(note_sub, sour->note, note_sub_cleanup);
+ DESTROY_CHAIN_ELTS(user_ref_number, sour->ref, user_ref_cleanup);
+ SAFE_FREE(sour->record_id);
+ change_date_cleanup(sour->change_date);
+ DESTROY_CHAIN_ELTS(user_data, sour->extra, user_data_cleanup);
+ }