rem: CHECK(*handle);
context: iptc_replace_entry(const ipt_chainlabel chain,		   const struct ipt_entry *e,		   unsigned int rulenum,		   iptc_handle_t *handle){	unsigned int chainindex, offset;	struct ipt_entry_target old;	struct chain_cache *c;	int ret;	CHECK(*handle);	iptc_fn = iptc_replace_entry;	if (!(c = find_label(chain, *handle))) {		errno = ENOENT;		return 0;	}	chainindex = entry2index(*handle, c->start);	if (index2entry(*handle, chainindex + rulenum) >= c->end) {		errno = E2BIG;		return 0;	}	offset = index2offset(*handle, chainindex + rulenum);	/* Replace = delete and insert. */	if (!delete_rules(1, get_entry(*handle, offset)->next_offset,			  offset, chainindex + rulenum, handle))		return 0;	if (!map_target(*handle, (struct ipt_entry *)e, offset, &old))		return 0;	CHECK(*handle);	ret = insert_rules(1, e->next_offset, e, offset,			   chainindex + rulenum, 1, handle);	unmap_target((struct ipt_entry *)e, &old);	CHECK(*handle);	return ret;}