#include <tr.h>
#include <tr_name_internal.h>
-#include <tr_gss.h>
+#include <tr_gss_names.h>
#include <tr_config.h>
#include <tr_rp.h>
#include <tr_debug.h>
return NULL;
/* will not remove the head here, that has already been done */
- for (rp=head; rp->next!=NULL; rp=rp->next) {
+ for (rp=head; (rp!=NULL) && (rp->next!=NULL); rp=rp->next) {
if (rp->next->refcount==0) {
old_next=rp->next;
- tr_rp_realm_remove(head, rp->next); /* changes rp->next */
+ tr_rp_realm_remove(head, rp->next); /* changes rp->next, may make it null */
tr_rp_realm_free(old_next);
}
}