diff options
Diffstat (limited to 'sbin')
| -rw-r--r-- | sbin/bsdlabel/bsdlabel.8 | 2 | ||||
| -rw-r--r-- | sbin/bsdlabel/bsdlabel.c | 2 | ||||
| -rw-r--r-- | sbin/geom/core/geom.c | 125 | ||||
| -rw-r--r-- | sbin/ifconfig/ifbridge.c | 8 | ||||
| -rw-r--r-- | sbin/ifconfig/ifconfig.8 | 3 | ||||
| -rw-r--r-- | sbin/ipf/ipfs/ipfs.c | 2 | ||||
| -rw-r--r-- | sbin/ipfw/ipfw2.c | 8 | ||||
| -rw-r--r-- | sbin/mount/mount.8 | 3 | ||||
| -rw-r--r-- | sbin/pfctl/pfctl.c | 11 | ||||
| -rw-r--r-- | sbin/pfctl/pfctl.h | 2 | ||||
| -rw-r--r-- | sbin/pfctl/pfctl_radix.c | 4 | ||||
| -rw-r--r-- | sbin/pfctl/pfctl_table.c | 13 | 
12 files changed, 96 insertions, 87 deletions
diff --git a/sbin/bsdlabel/bsdlabel.8 b/sbin/bsdlabel/bsdlabel.8 index abea59756aea..cdf3cc249856 100644 --- a/sbin/bsdlabel/bsdlabel.8 +++ b/sbin/bsdlabel/bsdlabel.8 @@ -62,7 +62,7 @@  .Sh DEPRECATION NOTICE  .Nm  is deprecated and is not available in -.Fx 15.0 +.Fx 16.0  or later.  Use  .Xr gpart 8 diff --git a/sbin/bsdlabel/bsdlabel.c b/sbin/bsdlabel/bsdlabel.c index a68ee377a97c..912833ec12e3 100644 --- a/sbin/bsdlabel/bsdlabel.c +++ b/sbin/bsdlabel/bsdlabel.c @@ -136,7 +136,7 @@ main(int argc, char *argv[])  	name = NULL;  	fprintf(stderr, -	    "WARNING: bsdlabel is deprecated and is not available in FreeBSD 15 or later.\n" +	    "WARNING: bsdlabel is deprecated and is not available in FreeBSD 16 or later.\n"  	    "Please use gpart instead.\n\n");  	while ((ch = getopt(argc, argv, "ABb:efm:nRrw")) != -1) diff --git a/sbin/geom/core/geom.c b/sbin/geom/core/geom.c index 2de696ce6a43..51ea52a3e858 100644 --- a/sbin/geom/core/geom.c +++ b/sbin/geom/core/geom.c @@ -897,23 +897,23 @@ list_one_provider(struct gprovider *pp, const char *padding)  	struct gconfig *conf;  	char buf[5]; -	xo_emit("{Lcw:Name}{:Name}\n", pp->lg_name); +	xo_emit("{Lcw:Name}{:name}\n", pp->lg_name);  	humanize_number(buf, sizeof(buf), (int64_t)pp->lg_mediasize, "",  	    HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL); -	xo_emit("{P:/%s}{Lcw:Mediasize}{:Mediasize/%jd} ({N:/%s})\n", +	xo_emit("{P:/%s}{Lcw:Mediasize}{:mediasize/%jd} ({N:/%s})\n",  	    padding, (intmax_t)pp->lg_mediasize, buf); -	xo_emit("{P:/%s}{Lcw:Sectorsize}{:Sectorsize/%u} \n", +	xo_emit("{P:/%s}{Lcw:Sectorsize}{:sectorsize/%u}\n",  	    padding, pp->lg_sectorsize);  	if (pp->lg_stripesize > 0 || pp->lg_stripeoffset > 0) { -		xo_emit("{P:/%s}{Lcw:Stripesize}{Stripesize/%ju}\n", +		xo_emit("{P:/%s}{Lcw:Stripesize}{:stripesize/%ju}\n",  		    padding, pp->lg_stripesize); -		xo_emit("{P:/%s}{Lcw:Stripeoffset}{Stripeoffset/%ju}\n", +		xo_emit("{P:/%s}{Lcw:Stripeoffset}{:stripeoffset/%ju}\n",  		    padding, pp->lg_stripeoffset);  	} -	xo_emit("{P:/%s}{Lcw:Mode}{Mode}\n", padding, pp->lg_mode); +	xo_emit("{P:/%s}{Lcw:Mode}{:mode}\n", padding, pp->lg_mode);  	LIST_FOREACH(conf, &pp->lg_config, lg_config) {  		xo_emit("{P:/%s}{Lcwa:}{a:}\n", padding, conf->lg_name, -		    conf->lg_name, conf->lg_val); +		    conf->lg_name, conf->lg_val ? conf->lg_val : "");  	}  } @@ -929,24 +929,24 @@ list_one_consumer(struct gconsumer *cp, const char *padding)  	else {  		char buf[5]; -		xo_emit("{Lcw:Name}{:Name}\n", pp->lg_name); +		xo_emit("{Lcw:Name}{:name}\n", pp->lg_name);  		humanize_number(buf, sizeof(buf), (int64_t)pp->lg_mediasize, "",  		    HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL); -		xo_emit("{P:/%s}{Lcw:Mediasize}{:Mediasize/%jd} ({N:/%s})\n", +		xo_emit("{P:/%s}{Lcw:Mediasize}{:mediasize/%jd} ({N:/%s})\n",  		    padding, (intmax_t)pp->lg_mediasize, buf); -		xo_emit("{P:/%s}{Lcw:Sectorsize}{:Sectorsize/%u}\n", +		xo_emit("{P:/%s}{Lcw:Sectorsize}{:sectorsize/%u}\n",  		    padding, pp->lg_sectorsize);  		if (pp->lg_stripesize > 0 || pp->lg_stripeoffset > 0) { -			xo_emit("{P:/%s}{Lcw:Stripesize}{:Stripesize/%ju}\n", +			xo_emit("{P:/%s}{Lcw:Stripesize}{:stripesize/%ju}\n",  			    padding, pp->lg_stripesize); -			xo_emit("{P:/%s}{Lcw:Stripeoffset}{:Stripesize/%ju}\n", +			xo_emit("{P:/%s}{Lcw:Stripeoffset}{:stripeoffset/%ju}\n",  			    padding, pp->lg_stripeoffset);  		} -		xo_emit("{P:/%s}{Lcw:Mode}{:Mode}\n", padding, pp->lg_mode); +		xo_emit("{P:/%s}{Lcw:Mode}{:mode}\n", padding, pp->lg_mode);  	}  	LIST_FOREACH(conf, &cp->lg_config, lg_config) {  		xo_emit("{P:/%s}{Lcwa:}{a:}\n", padding, conf->lg_name, -		    conf->lg_name, conf->lg_val); +		    conf->lg_name, conf->lg_val ? conf->lg_val : "");  	}  } @@ -958,13 +958,13 @@ list_one_geom(struct ggeom *gp)  	struct gconfig *conf;  	unsigned n; -	xo_emit("{Lcw:Geom name}{:Name}\n", gp->lg_name); +	xo_emit("{Lcw:Geom name}{:name}\n", gp->lg_name);  	LIST_FOREACH(conf, &gp->lg_config, lg_config) {  		xo_emit("{Lcwa:}{a:}\n", conf->lg_name, conf->lg_name, -		    conf->lg_val); +		    conf->lg_val ? conf->lg_val : "");  	}  	if (!LIST_EMPTY(&gp->lg_provider)) { -		xo_open_list("Providers"); +		xo_open_list("providers");  		xo_emit("{Tc:Providers}\n");  		n = 1;  		LIST_FOREACH(pp, &gp->lg_provider, lg_provider) { @@ -973,10 +973,10 @@ list_one_geom(struct ggeom *gp)  			list_one_provider(pp, "   ");  			xo_close_instance("provider");  		} -		xo_close_list("Providers"); +		xo_close_list("providers");  	}  	if (!LIST_EMPTY(&gp->lg_consumer)) { -		xo_open_list("Consumers"); +		xo_open_list("consumers");  		xo_emit("{Tc:Consumers}\n");  		n = 1;  		LIST_FOREACH(cp, &gp->lg_consumer, lg_consumer) { @@ -985,7 +985,7 @@ list_one_geom(struct ggeom *gp)  			list_one_consumer(cp, "   ");  			xo_close_instance("consumer");  		} -		xo_close_list("Consumers"); +		xo_close_list("consumers");  	}  	xo_emit("\n");  } @@ -1005,10 +1005,10 @@ list_one_geom_by_provider(const char *provider_name)  	if (gp == NULL)  		errx(EXIT_FAILURE, "Cannot find provider '%s'.", provider_name); -	xo_open_container("Geom"); -	xo_emit("{Lwc:Geom class}{:Class}\n", gp->lg_class->lg_name); +	xo_open_container(provider_name); +	xo_emit("{Lwc:Geom class}{:class}\n", gp->lg_class->lg_name);  	list_one_geom(gp); -	xo_close_container("Geom"); +	xo_close_container(provider_name);  }  static void @@ -1067,12 +1067,12 @@ std_list(struct gctl_req *req, unsigned flags __unused)  				    "an instance named '%s'.",  				    gclass_name, name);  			} -			xo_open_container("Geom"); +			xo_open_container(gclass_name);  			list_one_geom(gp); -			xo_close_container("Geom"); +			xo_close_container(gclass_name);  		}  	} else { -		xo_open_list("Geoms"); +		xo_open_list(gclass_name);  		LIST_FOREACH(gp, &classp->lg_geom, lg_geom) {  			if (LIST_EMPTY(&gp->lg_provider) && !all)  				continue; @@ -1080,7 +1080,7 @@ std_list(struct gctl_req *req, unsigned flags __unused)  			list_one_geom(gp);  			xo_close_instance("geom");  		} -		xo_close_list("Geoms"); +		xo_close_list(gclass_name);  	}  	geom_deletetree(&mesh);  } @@ -1175,6 +1175,7 @@ status_one_geom(struct ggeom *gp, int script, int name_len, int status_len)  {  	struct gconsumer *cp;  	struct gconfig *conf; +	char fmt[64];  	const char *name, *status, *cstate, *csyncr;  	int gotone, len; @@ -1196,28 +1197,36 @@ status_one_geom(struct ggeom *gp, int script, int name_len, int status_len)  		csyncr = status_one_consumer(cp, "synchronized");  		if (!gotone || script) {  			if (!gotone) { -				xo_emit("{:name/%*s}  {:status/%*s}  ", +				xo_emit("{t:name/%*s}  {t:status/%*s}  ",  				    name_len, name, status_len, status); +				xo_open_list("components");  			} else { -				xo_emit("{d:name/%*s}  {d:status/%*s}  ", +				/* +				 * XXX: running the same xo_emit() as above or +				 * variations of it will cause the XML/JSON to +				 * produce extra "components" lists in script +				 * mode +				 */ + +				snprintf(fmt, sizeof(fmt), "%*s  %*s  ",  				    name_len, name, status_len, status); +				xo_emit(fmt);  			} -			xo_open_list("components");  		}  		xo_open_instance("components");  		if (cstate != NULL && csyncr != NULL) {  			xo_emit("{P:/%*s}{:component} ({:state}, {:synchronized})\n", -			len, "", cp->lg_provider->lg_name, cstate, csyncr); +			    len, "", cp->lg_provider->lg_name, cstate, csyncr);  		} else if (cstate != NULL) {  			xo_emit("{P:/%*s}{:component} ({:state})\n", -			len, "", cp->lg_provider->lg_name, cstate); +			    len, "", cp->lg_provider->lg_name, cstate);  		} else if (csyncr != NULL) {  			xo_emit("{P:/%*s}{:component} ({:synchronized})\n", -			len, "", cp->lg_provider->lg_name, csyncr); +			    len, "", cp->lg_provider->lg_name, csyncr);  		} else {  			xo_emit("{P:/%*s}{:component}\n", -			len, "", cp->lg_provider->lg_name); +			    len, "", cp->lg_provider->lg_name);  		}  		xo_close_instance("components");  		gotone = 1; @@ -1225,13 +1234,11 @@ status_one_geom(struct ggeom *gp, int script, int name_len, int status_len)  			len = name_len + status_len + 4;  	}  	if (!gotone) { -		xo_emit("{:name/%*s}  {:status/%*s}  ", name_len, name, status_len, status); -		xo_open_list("components"); -		xo_open_instance("components"); -		xo_emit("{P:/%*s}{d:component}\n", len, "", "N/A"); -		xo_close_instance("components"); +		xo_emit("{t:name/%*s}  {t:status/%*s}  N/A\n", +		    name_len, name, status_len, status); +	} else { +		xo_close_list("components");  	} -	xo_close_list("components");  	xo_close_instance("status");  } @@ -1242,6 +1249,7 @@ status_one_geom_prs(struct ggeom *gp, int script, int name_len, int status_len)  	struct gconsumer *cp;  	struct gconfig *conf;  	const char *name, *status, *cstate, *csyncr; +	char fmt[64];  	int gotone, len;  	xo_open_instance("status"); @@ -1269,28 +1277,37 @@ status_one_geom_prs(struct ggeom *gp, int script, int name_len, int status_len)  			csyncr = status_one_consumer(cp, "synchronized");  			if (!gotone || script) {  				if (!gotone) { -					xo_emit("{:name/%*s}  {:status/%*s}  ", +					xo_emit("{t:name/%*s}  {t:status/%*s}  ",  					    name_len, name, status_len, status); +					xo_open_list("components");  				} else { -					xo_emit("{d:name/%*s}  {d:status/%*s}  ", +					/* +					 * XXX: running the same xo_emit() as +					 * above or variations of it will +					 * cause the XML/JSON to produce +					 * extra "components" lists in +					 * script mode +					 */ + +					snprintf(fmt, sizeof(fmt), "%*s  %*s  ",  					    name_len, name, status_len, status); +					xo_emit(fmt);  				} -				xo_open_list("components");  			}  			xo_open_instance("component");  			if (cstate != NULL && csyncr != NULL) {  				xo_emit("{P:/%*s}{:component} ({:state}, {:synchronized})\n", -				len, "", cp->lg_provider->lg_name, cstate, csyncr); +				    len, "", cp->lg_provider->lg_name, cstate, csyncr);  			} else if (cstate != NULL) {  				xo_emit("{P:/%*s}{:component} ({:state})\n", -				len, "", cp->lg_provider->lg_name, cstate); +				    len, "", cp->lg_provider->lg_name, cstate);  			} else if (csyncr != NULL) {  				xo_emit("{P:/%*s}{:component} ({:synchronized})\n", -				len, "", cp->lg_provider->lg_name, csyncr); +				    len, "", cp->lg_provider->lg_name, csyncr);  			} else {  				xo_emit("{P:/%*s}{:component}\n", -				len, "", cp->lg_provider->lg_name); +				    len, "", cp->lg_provider->lg_name);  			}  			xo_close_instance("component");  			gotone = 1; @@ -1298,13 +1315,11 @@ status_one_geom_prs(struct ggeom *gp, int script, int name_len, int status_len)  				len = name_len + status_len + 4;  		}  		if (!gotone) { -			xo_emit("{:name/%*s}  {:status/%*s}  ", name_len, name, status_len, status); -			xo_open_list("components"); -			xo_open_instance("components"); -			xo_emit("{P:/%*s}{d:component}\n", len, "", "N/A"); -			xo_close_instance("components"); +			xo_emit("{t:name/%*s}  {t:status/%*s}  N/A\n", +			    name_len, name, status_len, status); +		} else { +			xo_close_list("components");  		} -		xo_close_list("components");  	}  	xo_close_instance("status");  } @@ -1370,7 +1385,7 @@ std_status(struct gctl_req *req, unsigned flags __unused)  		xo_emit("{T:/%*s}  {T:/%*s}  {T:Components}\n",  		    name_len, "Name", status_len, "Status");  	} -	xo_open_list("status"); +	xo_open_list(gclass_name);  	if (nargs > 0) {  		for (i = 0; i < nargs; i++) {  			name = gctl_get_ascii(req, "arg%d", i); @@ -1398,7 +1413,7 @@ std_status(struct gctl_req *req, unsigned flags __unused)  			}  		}  	} -	xo_close_list("status"); +	xo_close_list(gclass_name);  end:  	geom_deletetree(&mesh);  } diff --git a/sbin/ifconfig/ifbridge.c b/sbin/ifconfig/ifbridge.c index eff443447c13..8bcf4a638adf 100644 --- a/sbin/ifconfig/ifbridge.c +++ b/sbin/ifconfig/ifbridge.c @@ -811,7 +811,7 @@ unsetbridge_private(if_ctx *ctx, const char *val, int dummy __unused)  static int  parse_vlans(ifbvlan_set_t *set, const char *str)  { -	char *s, *token; +	char *s, *free_s, *token;  	/* "none" means the empty vlan set */  	if (strcmp(str, "none") == 0) { @@ -829,6 +829,8 @@ parse_vlans(ifbvlan_set_t *set, const char *str)  	if ((s = strdup(str)) == NULL)  		return (-1); +	/* Keep the original value of s, since strsep() will modify it */ +	free_s = s;  	while ((token = strsep(&s, ",")) != NULL) {  		unsigned long first, last; @@ -856,11 +858,11 @@ parse_vlans(ifbvlan_set_t *set, const char *str)  			BRVLAN_SET(set, vlan);  	} -	free(s); +	free(free_s);  	return (0);  err: -	free(s); +	free(free_s);  	return (-1);  } diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8 index d4f8d2b5747a..627b7cd3f9e3 100644 --- a/sbin/ifconfig/ifconfig.8 +++ b/sbin/ifconfig/ifconfig.8 @@ -630,6 +630,9 @@ This is useful for devices which have multiple physical layer interfaces  .It Cm name Ar name  Set the interface name to  .Ar name . +The +.Ar name +may not be longer than 15 characters.  .It Cm rxcsum , txcsum , rxcsum6 , txcsum6  If the driver supports user-configurable checksum offloading,  enable receive (or transmit) checksum offloading on the interface. diff --git a/sbin/ipf/ipfs/ipfs.c b/sbin/ipf/ipfs/ipfs.c index 6225c6e1154d..94c9f70410f2 100644 --- a/sbin/ipf/ipfs/ipfs.c +++ b/sbin/ipf/ipfs/ipfs.c @@ -576,7 +576,7 @@ int readnat(int fd, char *file)  		in = (nat_save_t *)malloc(ipn.ipn_dsize);  		if (in == NULL) { -			fprintf(stderr, "nat:cannot malloc nat save atruct\n"); +			fprintf(stderr, "nat:cannot malloc nat save struct\n");  			goto freenathead;  		} diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index eed390ba5bec..27ccaea2c78f 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -648,11 +648,7 @@ do_cmd(int optname, void *optval, uintptr_t optlen)  	if (ipfw_socket < 0)  		err(EX_UNAVAILABLE, "socket"); -	if (optname == IP_FW_GET || -	    optname == IP_FW_ADD || optname == IP_FW3 || -	    optname == IP_FW_NAT_GET_CONFIG || -	    optname < 0 || -	    optname == IP_FW_NAT_GET_LOG) { +	if (optname == IP_FW3 || optname < 0) {  		if (optname < 0)  			optname = -optname;  		i = getsockopt(ipfw_socket, IPPROTO_IP, optname, optval, @@ -5802,7 +5798,7 @@ ipfw_add(char *av[])  		sz = default_off + sizeof(ipfw_obj_ctlv) + tlen + rlen;  		if ((tbuf = calloc(1, sz)) == NULL) -			err(EX_UNAVAILABLE, "malloc() failed for IP_FW_ADD"); +			err(EX_UNAVAILABLE, "malloc() failed for IP_FW_XADD");  		op3 = (ip_fw3_opheader *)tbuf;  		/* Tables first */  		ctlv = (ipfw_obj_ctlv *)(op3 + 1); diff --git a/sbin/mount/mount.8 b/sbin/mount/mount.8 index 7bfc21ea41d5..154ad293aee4 100644 --- a/sbin/mount/mount.8 +++ b/sbin/mount/mount.8 @@ -28,7 +28,7 @@  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  .\" SUCH DAMAGE.  .\" -.Dd July 16, 2025 +.Dd October 28, 2025  .Dt MOUNT 8  .Os  .Sh NAME @@ -568,6 +568,7 @@ support for a particular file system might be provided either on a static  .Xr kldload 8 ) .  .Sh SEE ALSO  .Xr getfacl 1 , +.Xr lsvfs 1 ,  .Xr setfacl 1 ,  .Xr nmount 2 ,  .Xr acl 3 , diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index ed317495c2e0..02d6c9c84a32 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -2618,6 +2618,8 @@ pfctl_apply_limit(struct pfctl *pf, const char *opt, unsigned int limit)  int  pfctl_load_limit(struct pfctl *pf, unsigned int index, unsigned int limit)  { +	static int restore_limit_handler_armed = 0; +  	if (pfctl_set_limit(pf->h, index, limit)) {  		if (errno == EBUSY)  			warnx("Current pool size exceeds requested %s limit %u", @@ -2626,6 +2628,9 @@ pfctl_load_limit(struct pfctl *pf, unsigned int index, unsigned int limit)  			warnx("Cannot set %s limit to %u",  			    pf_limits[index].name, limit);  		return (1); +	} else if (restore_limit_handler_armed == 0) { +		atexit(pfctl_restore_limits); +		restore_limit_handler_armed = 1;  	}  	return (0);  } @@ -3167,10 +3172,7 @@ pfctl_show_eth_anchors(int dev, int opts, char *anchorname)  	int ret;  	if ((ret = pfctl_get_eth_rulesets_info(dev, &ri, anchorname)) != 0) { -		if (ret == ENOENT) -			fprintf(stderr, "Anchor '%s' not found.\n", -			    anchorname); -		else +		if (ret != ENOENT)  			errc(1, ret, "DIOCGETETHRULESETS");  		return (-1);  	} @@ -3477,7 +3479,6 @@ main(int argc, char *argv[])  	if ((opts & PF_OPT_NOACTION) == 0) {  		pfctl_read_limits(pfh); -		atexit(pfctl_restore_limits);  	}  	if (opts & PF_OPT_DISABLE) diff --git a/sbin/pfctl/pfctl.h b/sbin/pfctl/pfctl.h index 136f51ea08f9..c540c6348d84 100644 --- a/sbin/pfctl/pfctl.h +++ b/sbin/pfctl/pfctl.h @@ -110,7 +110,7 @@ int	 pfr_clr_astats(struct pfr_table *, struct pfr_addr *, int, int *, int);  int	 pfr_clr_addrs(struct pfr_table *, int *, int);  int	 pfr_add_addrs(struct pfr_table *, struct pfr_addr *, int, int *, int);  int	 pfr_del_addrs(struct pfr_table *, struct pfr_addr *, int, int *, int); -int	 pfr_set_addrs(struct pfr_table *, struct pfr_addr *, int, int *, +int	 pfr_set_addrs(struct pfr_table *, struct pfr_addr *, int,  	    int *, int *, int *, int);  int	 pfr_get_addrs(struct pfr_table *, struct pfr_addr *, int *, int);  int	 pfr_get_astats(struct pfr_table *, struct pfr_astats *, int *, int); diff --git a/sbin/pfctl/pfctl_radix.c b/sbin/pfctl/pfctl_radix.c index 98f907738d95..3b7161420e33 100644 --- a/sbin/pfctl/pfctl_radix.c +++ b/sbin/pfctl/pfctl_radix.c @@ -163,11 +163,11 @@ pfr_del_addrs(struct pfr_table *tbl, struct pfr_addr *addr, int size,  int  pfr_set_addrs(struct pfr_table *tbl, struct pfr_addr *addr, int size, -    int *size2, int *nadd, int *ndel, int *nchange, int flags) +    int *nadd, int *ndel, int *nchange, int flags)  {  	int ret; -	ret = pfctl_table_set_addrs(dev, tbl, addr, size, size2, nadd, ndel, +	ret = pfctl_table_set_addrs_h(pfh, tbl, addr, size, nadd, ndel,  	    nchange, flags);  	if (ret) {  		errno = ret; diff --git a/sbin/pfctl/pfctl_table.c b/sbin/pfctl/pfctl_table.c index 4955e1791fd7..aae347712547 100644 --- a/sbin/pfctl/pfctl_table.c +++ b/sbin/pfctl/pfctl_table.c @@ -236,17 +236,8 @@ pfctl_table(int argc, char *argv[], char *tname, const char *command,  		CREATE_TABLE;  		if (opts & PF_OPT_VERBOSE)  			flags |= PFR_FLAG_FEEDBACK; -		for (;;) { -			int sz2 = b.pfrb_msize; - -			RVTEST(pfr_set_addrs(&table, b.pfrb_caddr, b.pfrb_size, -			    &sz2, &nadd, &ndel, &nchange, flags)); -			if (sz2 <= b.pfrb_msize) { -				b.pfrb_size = sz2; -				break; -			} else -				pfr_buf_grow(&b, sz2); -		} +		RVTEST(pfr_set_addrs(&table, b.pfrb_caddr, b.pfrb_size, +		    &nadd, &ndel, &nchange, flags));  		if (nadd)  			xprintf(opts, "%d addresses added", nadd);  		if (ndel)  | 
