Date: Sun, 10 Sep 2000 16:02:08 -0700 From: Craig Leres <leres@ee.lbl.gov> To: FreeBSD-gnats-submit@freebsd.org Cc: leres@ee.lbl.gov (Craig Leres) Subject: bin/21177: [PATCH] ifinfo dumps core (plus other fixes) Message-ID: <200009102302.e8AN29271497@fun.ee.lbl.gov>
next in thread | raw e-mail | index | archive | help
>Number: 21177
>Category: bin
>Synopsis: [PATCH] ifinfo dumps core (plus other fixes)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Sep 10 16:10:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: Craig Leres
>Release: FreeBSD 4.1-RELEASE i386
>Organization:
Lawrence Berkeley National Laboratory
>Environment:
>Description:
Ifinfo fails to compile; if you ifdef out the obsolete if_data
struct references and your kerenl has gif(4) interfaces, it dumps
core. It's also missing a few interface descriptions.
>How-To-Repeat:
fun 1182 % ifinfo
[...]
Interface gif0:
flags: ffff8010
promiscuous listeners: 0
send queue length: 0
send queue max length: 50
send queue drops: 0
Segmentation fault (core dumped)
>Fix:
Appended is a context diff to tools/tools/ifinfo/ifinfo.c
===================================================================
RCS file: RCS/ifinfo.c,v
retrieving revision 1.1
diff -c -r1.1 ifinfo.c
*** ifinfo.c 2000/09/10 22:44:21 1.1
--- ifinfo.c 2000/09/10 22:51:52
***************
*** 160,168 ****
--- 160,170 ----
printf("\tinput queue drops: %lu\n", ifmd->ifmd_data.ifi_iqdrops);
printf("\tpackets for unknown protocol: %lu\n",
ifmd->ifmd_data.ifi_noproto);
+ #ifdef notdef
printf("\treceive timing: %lu usec\n", ifmd->ifmd_data.ifi_recvtiming);
printf("\ttransmit timing: %lu usec\n",
ifmd->ifmd_data.ifi_xmittiming);
+ #endif
}
static const char *const if_types[] = {
***************
*** 220,226 ****
"SONETVT",
"SMDS InterCarrier Interface",
"Proprietary virtual interface",
! "Proprietary multiplexing"
};
#define NIFTYPES ((sizeof if_types)/(sizeof if_types[0]))
--- 222,231 ----
"SONETVT",
"SMDS InterCarrier Interface",
"Proprietary virtual interface",
! "Proprietary multiplexing",
! "Generic tunnel interface",
! "IPv6-to-IPv4 TCP relay capturing interface",
! "6to4 tunnel interface"
};
#define NIFTYPES ((sizeof if_types)/(sizeof if_types[0]))
***************
*** 229,235 ****
{
static char buf[256];
! if (type <= 0 || type > NIFTYPES) {
sprintf(buf, "unknown type %d", type);
return buf;
}
--- 234,240 ----
{
static char buf[256];
! if (type <= 0 || type >= NIFTYPES) {
sprintf(buf, "unknown type %d", type);
return buf;
}
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200009102302.e8AN29271497>
