rem: if (!memchr(me->name, 0, IPT_FUNCTION_MAXNAMELEN)) {
add: if (strlen(me->name) >= IPT_FUNCTION_MAXNAMELEN-1) {
context: register_target(struct iptables_target *me){	struct iptables_target *old;	if (strcmp(me->version, program_version) != 0) {		fprintf(stderr, "%s: target `%s' v%s (I'm v%s).\n",			program_name, me->name, me->version, program_version);		exit(1);	}	/* Revision field stole a char: check for 30 char names. */	if (!memchr(me->name, 0, IPT_FUNCTION_MAXNAMELEN)) {		fprintf(stderr, "%s: target `%s' has invalid name\n",			program_name, me->name);		exit(1);	}	old = find_target(me->name, DONT_LOAD);	if (old) {		struct iptables_target **i;		if (old->revision == me->revision) {			fprintf(stderr,				"%s: target `%s' already registered.\n",				program_name, me->name);			exit(1);		}		fprintf(stderr, "%s v%i vs v%i\n",			me->name, me->revision, old->revision);		/* Now we have two (or more) options, check compatibility. */		if (compatible_target_revision(old->name, old->revision)		    && old->revision > me->revision)			return;		/* Replace if compatible. */		if (!compatible_target_revision(me->name, me->revision))			return;		/* Delete old one. */		for (i = &iptables_targets; *i!=old; i = &(*i)->next);		*i = old->next;	}	if (me->size != IPT_ALIGN(me->size)) {		fprintf(stderr, "%s: target `%s' has invalid size %u.\n",			program_name, me->name, (unsigned int)me->size);		exit(1);	}	/* Prepend to list. */	me->next = iptables_targets;	iptables_targets = me;	me->t = NULL;	me->tflags = 0;}