if (rose_neigh->digipeat != NULL) kfree(rose_neigh->digipeat); 
kfree(rose_neigh->digipeat); 
static void rose_remove_neigh(struct rose_neigh *rose_neigh){	struct rose_neigh *s;	rose_stop_ftimer(rose_neigh);	rose_stop_t0timer(rose_neigh);	skb_queue_purge(&rose_neigh->queue);	spin_lock_bh(&rose_neigh_list_lock);	if ((s = rose_neigh_list) == rose_neigh) {		rose_neigh_list = rose_neigh->next;		spin_unlock_bh(&rose_neigh_list_lock);		if (rose_neigh->digipeat != NULL)			kfree(rose_neigh->digipeat);		kfree(rose_neigh);		return;	}	while (s != NULL && s->next != NULL) {		if (s->next == rose_neigh) {			s->next = rose_neigh->next;			spin_unlock_bh(&rose_neigh_list_lock);			if (rose_neigh->digipeat != NULL)				kfree(rose_neigh->digipeat);			kfree(rose_neigh);			return;		}		s = s->next;	}	spin_unlock_bh(&rose_neigh_list_lock);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a51482bde22f99c63fbbb57d5d46cc666384e379/rose_route.c/buggy/net/rose/rose_route.c