On Sat, Feb 22, 2020 at 06:38:36PM +0100, Stefan Sperling wrote: > > This fixes display of hex SSIDs in 'ifconfig joinlist' and prevents a > negative number being passed to printf on the following line when 'maxlen' > ends up being capped below the maximum value returned from len_string(): > > printf("%-*s", maxlen - len, " "); > > Hex SSIDs can be as wide as IEEE80211_NWID_LEN * 2 + 2 /* "0x" */ > > ok?
ok kevlo@ > > diff c20bd74017ceeadb2db0f78a352ed1f1e2b77c2b /usr/src > blob - e1dc9dbb07bf109c3ec7f5fd4d851a7dbb5692f1 > file + sbin/ifconfig/ifconfig.c > --- sbin/ifconfig/ifconfig.c > +++ sbin/ifconfig/ifconfig.c > @@ -2571,16 +2571,14 @@ join_status(void) > > maxlen = 0; > for (i = 0; i < ja.ja_nodes; i++) { > len = len_string(jn[i].i_nwid, jn[i].i_len); > if (len > maxlen) > maxlen = len; > } > - if (maxlen > IEEE80211_NWID_LEN) > - maxlen = IEEE80211_NWID_LEN - 1; > > for (i = 0; i < ja.ja_nodes; i++) { > printf("\t "); > if (jn[i].i_len > IEEE80211_NWID_LEN) > jn[i].i_len = IEEE80211_NWID_LEN; > len = print_string(jn[i].i_nwid, jn[i].i_len); > printf("%-*s", maxlen - len, " "); >