netstat: igmp stats, error on unexpected information, not only warn

The igmp stats tend to print two lines of warning for an unexpected
version and length.  Despite an invalid version and struct size it
continues to try to do something with the data.  Do not try to parse
the remainder of the struct and error on warning.

Note the underlying issue of the data not being available properly
is still there and needs to be fixed seperately.

Reported by:	test cases, lwhsu
MFC after:	3 weeks
This commit is contained in:
Bjoern A. Zeeb 2019-11-12 13:57:17 +00:00
parent 78f1851613
commit 4df8c94283
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=354639

View File

@ -1230,10 +1230,12 @@ igmp_stats(u_long off, const char *name, int af1 __unused, int proto __unused)
if (igmpstat.igps_version != IGPS_VERSION_3) {
xo_warnx("%s: version mismatch (%d != %d)", __func__,
igmpstat.igps_version, IGPS_VERSION_3);
return;
}
if (igmpstat.igps_len != IGPS_VERSION3_LEN) {
xo_warnx("%s: size mismatch (%d != %d)", __func__,
igmpstat.igps_len, IGPS_VERSION3_LEN);
return;
}
xo_open_container(name);