trie_bug("tnode_new failed"); 
BUG(); 
static struct tnode *halve(struct trie *t, struct tnode *tn){	struct tnode *oldtnode = tn;	struct node *left, *right;	int i;	int olen = tnode_child_length(tn);	if(trie_debug) printk("In halve\n");  	tn=tnode_new(oldtnode->key, oldtnode->pos, oldtnode->bits - 1);	if(!tn) 		trie_bug("tnode_new failed");	for(i = 0; i < olen; i += 2) {		left = tnode_get_child(oldtnode, i);		right = tnode_get_child(oldtnode, i+1);    		/* At least one of the children is empty */		if (left == NULL) {			if (right == NULL)    /* Both are empty */				continue;			put_child(t, tn, i/2, right);		} else if (right == NULL)			put_child(t, tn, i/2, left);     		/* Two nonempty children */		else {			struct tnode *newBinNode =				tnode_new(left->key, tn->pos + tn->bits, 1);			if(!newBinNode) 				trie_bug("tnode_new failed");			put_child(t, newBinNode, 0, left);			put_child(t, newBinNode, 1, right);			put_child(t, tn, i/2, resize(t, newBinNode));		}	}	tnode_free(oldtnode);	return tn;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2f36895aa774cf4d1c3d68921e0209e796b66600/fib_trie.c/buggy/net/ipv4/fib_trie.c