rem: ->u.name, IPT_ERROR_TARGET)
add: ->u.user.name, IPT_ERROR_TARGET)
context: check_entry(const struct ipt_entry *e, unsigned int *i, unsigned int *off,	    unsigned int user_offset, int *was_return,	    iptc_handle_t h){	unsigned int toff;	struct ipt_standard_target *t;	assert(e->target_offset >= sizeof(struct ipt_entry));	assert(e->next_offset >= e->target_offset	       + sizeof(struct ipt_entry_target));	toff = sizeof(struct ipt_entry);	IPT_MATCH_ITERATE(e, check_match, &toff);	assert(toff == e->target_offset);	t = (struct ipt_standard_target *)		ipt_get_target((struct ipt_entry *)e);	assert(t->target.target_size == e->next_offset - e->target_offset);	assert(!iptc_is_chain(t->target.u.name, h));	if (strcmp(t->target.u.name, IPT_STANDARD_TARGET) == 0) {		assert(t->target.target_size		       == IPT_ALIGN(sizeof(struct ipt_standard_target)));		assert(t->verdict == -NF_DROP-1		       || t->verdict == -NF_ACCEPT-1		       || t->verdict == IPT_RETURN		       || t->verdict < (int)h->entries.size);		if (t->verdict >= 0) {			struct ipt_entry *te = get_entry(h, t->verdict);			int idx;			idx = entry2index(h, te);			assert(strcmp(ipt_get_target(te)->u.name,				      IPT_ERROR_TARGET)			       != 0);			assert(te != e);			/* Prior node must be error node, or this node. */			assert(t->verdict == entry2offset(h, e)+e->next_offset			       || strcmp(ipt_get_target(index2entry(h, idx-1))					 ->u.name, IPT_ERROR_TARGET)			       == 0);		}		if (t->verdict == IPT_RETURN		    && unconditional(&e->ip)		    && e->target_offset == sizeof(*e))			*was_return = 1;		else			*was_return = 0;	} else if (strcmp(t->target.u.name, IPT_ERROR_TARGET) == 0) {		assert(t->target.target_size		       == IPT_ALIGN(sizeof(struct ipt_error_target)));		/* If this is in user area, previous must have been return */		if (*off > user_offset)			assert(*was_return);		*was_return = 0;	}	else *was_return = 0;	if (*off == user_offset)		assert(strcmp(t->target.u.name, IPT_ERROR_TARGET) == 0);	(*off) += e->next_offset;	(*i)++;	return 0;}