svn commit: r313943 - head/sbin/mdconfig

Edward Tomasz Napierala trasz at FreeBSD.org
Sun Feb 19 18:02:12 UTC 2017


On 0219T0819, Cy Schubert wrote:
> In message <201702191608.v1JG8wAN068829 at repo.freebsd.org>, Edward Tomasz 
> Napier
> ala writes:
> > Author: trasz
> > Date: Sun Feb 19 16:08:58 2017
> > New Revision: 313943
> > URL: https://svnweb.freebsd.org/changeset/base/313943
> > 
> > Log:
> >   Make mdconfig(8) not segfault when the kernel returns garbage data.
> >   
> >   MFC after:	2 weeks
> >   Sponsored by:	DARPA, AFRL
> > 
> > Modified:
> >   head/sbin/mdconfig/mdconfig.c
> > 
> > Modified: head/sbin/mdconfig/mdconfig.c
> > =============================================================================
> > =
> > --- head/sbin/mdconfig/mdconfig.c	Sun Feb 19 14:53:59 2017	(r31394
> > 2)
> > +++ head/sbin/mdconfig/mdconfig.c	Sun Feb 19 16:08:58 2017	(r31394
> > 3)
> > @@ -452,8 +452,8 @@ md_list(const char *units, int opt, cons
> >  			}
> >  			gc = &pp->lg_config;
> >  			type = geom_config_get(gc, "type");
> > -			if (strcmp(type, "vnode") == 0 ||
> > -			    strcmp(type, "preload") == 0) {
> > +			if (type != NULL && (strcmp(type, "vnode") == 0 ||
> > +			    strcmp(type, "preload") == 0)) {
> >  				file = geom_config_get(gc, "file");
> >  				if (fflag != NULL &&
> >  				    strcmp(fflag, file) != 0)
> > 
> > 
> 
> I wonder why the kernel is returning garbage data?

Because of a bug.  I hadn't tracked that down yet, though, and while
kernel should be trusted, some additional error checking won't hurt.



More information about the svn-src-head mailing list