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, " ");
> 

Reply via email to